阮一峰文章

https://en.wikipedia.org/wiki/Bitwise_operation#Mathematical_equivalents

神奇的XOR

https://en.wikipedia.org/wiki/Exclusive_or

And 与: 同真则真,都真,全真,all

Or 或: 有真则真,有真,any

Xor(Exclusive or): 不同则真,独真,only one

And not(&^): 前独真

定律:

A ^ A = 0          // 归0,可用于快速判断两个数是否相同!!
A ^ 0 = A          // 恒等
1 ^ A = ^A         // 反转,与1异或可将指定位反转
A ^ (^A) = 1       // 归1
1 ^ 0 = 1
A ^ B = B ^ A      // 交换律
A ^ (B^C) = A^B ^C // 结合律
Y = A&(^B) | ((^A)&B)

经典面试题: 找缺失数,如n-1个 1~n中的不同数,找到缺失的数(或找重复数)

A1^A2^...^An-1^1^2^...^n

磁盘恢复(巧妙!!!):

A, B, 并将 A^B 存入C,则可同步C从A恢复B或从B恢复A

C^A=A^B^A=A^A^B=0^B=B

N个数字中,只有1个数只出现1次,其它数字都出现2次

A1^A2^...^An=Ax