位运算符规律小结

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)

原文地址:https://www.cnblogs.com/bobodeboke/p/3785408.html