使用C语言,利用位运算将长整型数0X12345678的高八位与低八位互换,次高八位与次低八位互换
时间: 2024-03-24 17:37:25 浏览: 70
C语言中的位运算及其用法
可以使用如下代码实现:
```c
#include <stdio.h>
int main() {
unsigned long long num = 0x12345678;
unsigned long long high = (num & 0xFF000000) >> 24;
unsigned long long low = num & 0x000000FF;
unsigned long long mid_high = (num & 0x00FF0000) >> 8;
unsigned long long mid_low = (num & 0x0000FF00) << 8;
unsigned long long result = (high << 24) | (mid_high) | (mid_low) | (low);
printf("Original number: %llx\n", num);
printf("Result number: %llx\n", result);
return 0;
}
```
这里使用了位运算符号"&"和">>"以及"<<"。代码首先将原数0x12345678的高8位和低8位分别提取出来,然后将次高8位和次低8位分别提取出来并进行互换,最后将四部分重新组合成新的数。
阅读全文