交换一个数的奇数和偶数位在C语言是很常见的问题。
#include <stdio.h>
#define CHANGE(x)\
((x&(0x55555555)) << 1) | ((x&(0xAAAAAAAAA))>>1)
//奇数位左移,偶数位右移
int main()
{
int x=5;
printf("%d\n", CHANGE(x));
system("pause");
return 0;
}
交换一个数的奇数和偶数位在C语言是很常见的问题。
#include <stdio.h>
#define CHANGE(x)\
((x&(0x55555555)) << 1) | ((x&(0xAAAAAAAAA))>>1)
//奇数位左移,偶数位右移
int main()
{
int x=5;
printf("%d\n", CHANGE(x));
system("pause");
return 0;
}