奇数的最低位是1 ,偶数的最低位是0
1左移到要确定的位置上
做三次异或运算
题1:找出数组中唯一重复的数字
关键在于 异或的性质 A ^ A = 0 , A ^ 0 = A
数组:1 2 3 2
// 1 2 3 4 2 5 6 7 8 // 1 2 3 4 5 6 7 8
题5:交换一个整数的奇偶位
关键在于理解与运算下:
1 保留 0 消除
一个数 与 0xaaaaaaaa(1010 1010 ...) 取出偶数位
一个数 与 0x55555555(0101 0101 ...) 取出奇数位
此时 c 左移一位 d右移一位 二者再做异或运算即可完成呼唤
如果 c d 做 与运算 则恢复 整数
题6:
对于整数取转2进制, 只需要不断对2取模 直至取0
对于小数转2进制,只需要不断对乘2,取整数位,直至取0;