C语言实现一长度为2个字节的整数,现欲将其高位字节与低位字节相互交换后输出
时间: 2024-04-29 14:23:16 浏览: 121
```
#include <stdio.h>
int main() {
unsigned short num = 0x1234; // 假设原整数为0x1234
unsigned short high = (num >> 8) & 0xff; // 取高位字节
unsigned short low = num & 0xff; // 取低位字节
num = (low << 8) | high; // 高位字节与低位字节交换
printf("交换后的整数为:%x\n", num); // 输出交换后的整数
return 0;
}
```
相关问题
C语言用共用体实现一长度为2个字节的整数,现欲将其高位字节与低位字节相互交换后输出
```c
#include <stdio.h>
union Int16 {
unsigned short int16;
unsigned char bytes[2];
};
int main() {
union Int16 num;
num.int16 = 0xABCD;
printf("%04X\n", num.int16); // 输出原始数据
unsigned char tmp = num.bytes[0];
num.bytes[0] = num.bytes[1];
num.bytes[1] = tmp;
printf("%04X\n", num.int16); // 输出交换后的数据
return 0;
}
```
用C语言实现二进制高位与低位依次交换
下面是C语言实现二进制高位与低位依次交换的代码:
```
#include <stdio.h>
unsigned char SwapBits(unsigned char x)
{
return ((x & 0x0F) << 4) | ((x & 0xF0) >> 4);
}
int main(void)
{
unsigned char x = 0xA5;
printf("Original value: %X\n", x);
x = SwapBits(x);
printf("Swapped value: %X\n", x);
return 0;
}
```
该代码中,我们定义了一个 `SwapBits` 函数,用于实现二进制高位与低位依次交换的操作。具体而言,该函数先将 `x` 的低 4 位和高 4 位分别提取出来,然后交换它们的位置,最后将它们组合在一起,得到一个新的值。在 `main` 函数中,我们定义了一个字节 `%X`,用于表示一个无符号整数,然后调用 `SwapBits` 函数,将结果打印出来。
阅读全文