代码段:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#define swap(x) (((x&(0x55555555))<<1)|((x&(0xaaaaaaa))>>1))
int main()
{
int a = 5;
a = swap(a);
printf("%d",a );
system("pause");
return 0;
}
这里特别注意里面是16进制交换的,不要搞混淆了。
&按位与
|按位或