1.异或运算:相同为0,不同为1
- 1)0异或n都是n
- 2)n异或n都是0
- 3)a异或b等于b异或a(满足交换律和结合律)abcde异或结果只有一种,与顺序无关
- 4)偶数个1异或得0,奇数个1异或得1
异或的一个应用:
a = a ^ b;
b = a ^ b;(b = (a ^ b) ^ b = a ^(b ^ b) = a ^ 0 = a)
a = a ^ b;(a = a ^ b =a ^ b ^ a = b)
实现了a和b两个数字值的交换 异或是位运算。比普通交换效率更高。
这里交换的前提是a和b指向内存的不同区域,否则的话两个一异或信息就没了。