写一个宏可以将一个数字的奇数位和偶数位交换。
2017-12-05 15:49
211 查看
#include<stdio.h> #include<windows.h> #define EXCHANGE_JO(x) ((((x)&0xAAAAAAAA)>>1)|(((x)&0x55555555)<<1)) //(x)&0xAAAAAAAA)>>1 奇数位清零右移一位,将偶数位移至奇数位 //(x)&0x55555555)<<1 偶数位清零左移一位,将奇数位移至偶数位 //所得到的两个数字按位或(|)得到奇数位和偶数位交换后的数字 int main() { int x = 5; int i = 31; printf("请输入:>"); scanf("%d", &x); printf("原二进制码为:> "); for (i=31; i >= 0; i--) { if (0 == (i + 1) % 8) { printf(" "); } printf("%d", (x >> i)&1); } printf("\n"); x = EXCHANGE_JO(x); printf("交换后二进制码为:>"); for (i=31; i >= 0; i--) { if (0 == (i + 1) % 8) { printf(" "); } printf("%d", (x >> i) & 1); } printf("\n"); system("pause"); return 0; }
相关文章推荐
- 写一个宏可以将一个数字的奇数位和偶数位交换
- 写一个宏可以将一个数字的奇数位和偶数位交换。
- 写一个宏可以将一个数字的奇数位和偶数位交换
- 用宏实现函数—1.写一个宏可以将一个数字的奇数位和偶数位交换 2.求两个数中求较大值
- 写一个宏可以将一个数字的奇数位和偶数位交换。
- 写一个宏可以将一个数字的奇数位和偶数位交换
- 写一个宏可以将一个数字的奇数位和偶数位交换
- 写一个宏可以将一个数字的奇数位和偶数位交换
- 宏定义小程序(写一个宏可以将一个数字的奇数位和偶数位交换)
- 写一个宏可以将一个数字的奇数位和偶数位交换。
- 写一个宏可以将一个数字的奇数位和偶数位(二进制)交换。
- 写一个宏可以将一个数字的奇数位和偶数位交换
- 【C】写一个宏将一个数字的奇数位和偶数位交换。实现两个int(32位)整数m和n的二进制表达中,位(bit)不同的个数
- 写一个宏可以将一个数字的奇数位和偶数位交换
- 用宏写一个函数可以将一个数字的奇数位和偶数位互换
- 写一个宏可以将一个数字的奇数位和偶数位交换
- 用宏将一个数字的奇数位和偶数位交换和使用宏实现两个数中求较大值
- 如何用一个宏将一个数字的奇数位和偶数位交换
- 写一个宏将一个数字的奇数位和偶数位交换
- 写一个宏可以将一个数字的奇数位和偶数位交换