编写一个宏,将数字的奇数位和偶数位交换
给一个数分别“与”上0x55555555和0xAAAAAAAA,可以得到该数的奇数位和偶数位
#include
#define EXCHANGE(x) ((((x)&0x55555555)<<1)| (((x)&0xAAAAAAAA)>>1))
int main()
{
int a = 0;
printf("请输入一个数:");
scanf("%d", &a);
int x = EXCHANGE(a);
printf("%d\n", x);
return 0;
}