1.6
整数奇偶位互换
0000 ……1001
&
1010…… 1010
0000…… 1000
——————————
0000…… 1001
&
0101…… 0101
0000…… 0001
——————————
0000…… 1000>>1
^
0000…… 0001<<1
0000…… 0110
#include <stdio.h> int main(){ int num = 9; int ou = num & 0xaaaaaaaa; // 1010……1010 偶数位 int ji = num & 0x55555555; // 0101……0101 奇数位 int res = (ou>>1)^(ji<<1); printf("%d %d\n", ou, ji); printf("%d\n", res); return 0; }