题目:写一个宏,可以将一个整数的二进制位的奇数位和偶数位交换。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//写一个宏,可以将一个整数的二进制位的奇数位和偶数位交换。
#define SWAP(num) (num = (((num&0x55555555)<<1)+((num&0xaaaaaaaa)>>1)))
int main()
{
int num = 10;
SWAP(num);
printf("%d\n", num);
return 0;
}