异或的特点:
一个值与自身的异或总是为 0
x ^ x = 0
一个值与 0 异或等于本身
x ^ 0 = x
可交换性
a ^ b = b ^ a
可结合性
(a ^ b) ^ c = a ^ (b ^ c)
根据以上的四个特点
我们可以推导:
a ^ b = c
等式两边都增加对b的异或, 等价于
a ^ b ^ b = c ^ b
等式左边的 b^b=0, a^0=a, 所以有
a = c ^ b
最终相当于把 b 从等号左边转到等号右边来了.
异或的特点:
一个值与自身的异或总是为 0
x ^ x = 0
一个值与 0 异或等于本身
x ^ 0 = x
可交换性
a ^ b = b ^ a
可结合性
(a ^ b) ^ c = a ^ (b ^ c)
根据以上的四个特点
我们可以推导:
a ^ b = c
等式两边都增加对b的异或, 等价于
a ^ b ^ b = c ^ b
等式左边的 b^b=0, a^0=a, 所以有
a = c ^ b
最终相当于把 b 从等号左边转到等号右边来了.