二进制的偶数位与奇数位
#include<stdio.h>
#include<stdlib.h>
int main()
{
int num=10;
int i=0;
for(i=32;i>=32;i-=2)
{
printf("%d",(num>>i)&1);
}
printf("\n");
for(i=31;i>=0;i-=2)
{
printf("%d",(num>>i)&1);
}
system("pause");
}
写一个宏可以将一个数字的奇数位和偶数位交换。
//#define_CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#define SWAP(N) (((N>>1)&0x55555555)+((N<<1)&0xaaaaaaaa))
int main()
{
int num=10;
SWAP(num);
printf("%d\n",SWAP(num));
system("pause");
return 0;
}