1,异或运算^
1)0和任何数异或都得到原来的数
2)两个相同的数字异或得0.利用该性质常用来寻找数称对出现时缺失的某一个数
异或运算可以用来
1)判断一个数字是否是偶数(二进制表示中只有一位是0,n^(n-1)=0)
2)寻找缺失的数字,如0-n中缺失的数字
3)不使用第三方变量交换两个变量的值
4)使用位运算来实现常见的运算符,如两个数相加,计算两个数字的平均值等(蒋&和^,以及移位结合起来考虑))
5)计算一个数值的二进制中包含1的个数(p70)
6)将一个整数的奇偶位互换
((x&0xaaaaaaaa)>>1)|((x&0x55555555)<<1)
原文地址:http://www.cnblogs.com/bobodeboke/p/3785408.html