> 文章列表 > 异或操作(^)的妙用

异或操作(^)的妙用

异或操作(^)的妙用

结论1. 异或操作满足交换律和结合律

如a ^ b ^ c  等价于 a ^ c ^ b , 也等价于c ^ b ^ a 等(这里使用的是交换律)

如a ^ b ^ c 等价于 (a ^ b) ^ ' 这里使用的是结合律

结论2. a ^ a = 0, a ^ 0 = a

如 a = 3, 011

a ^ a => 011 ^ 011 => 000   = 0

a ^ 0 => 011 ^ 000 => 011   = 3

结论3. 一个数与另一个数异或两次等于本身

如a ^ b ^ b = a , a^ b ^ a = b

分析:a ^ b ^ a = a ^ a ^ b (交换律) = (a ^ a) ^ b(结合律) = 0^b(结论2) = b

结论4.扩展(多次异或)

a ^ b ^ a ^ b ^ a = (a ^ a) ^ (b ^ b) ^ a = (0 ^ 0) ^ a = 0 ^ a = a