我只是想添加一个数学解释,以使答案更完整。在group theory 中,XOR 是一个abelian group,也称为交换群。这意味着它满足五个要求:闭包、关联性、标识元素、逆元素、交换性。
异或交换公式:
a = a XOR b
b = a XOR b
a = a XOR b
展开公式,将a、b替换为之前的公式:
a = a XOR b
b = a XOR b = (a XOR b) XOR b
a = a XOR b = (a XOR b) XOR (a XOR b) XOR b
交换性意味着“a XOR b”等于“b XOR a”:
a = a XOR b
b = a XOR b = (a XOR b) XOR b
a = a XOR b = (a XOR b) XOR (a XOR b) XOR b
= (b XOR a) XOR (a XOR b) XOR b
关联性意味着“(a XOR b) XOR c”等于“a XOR (b XOR c)”:
a = a XOR b
b = a XOR b = (a XOR b) XOR b
= a XOR (b XOR b)
a = a XOR b = (a XOR b) XOR (a XOR b) XOR b
= (b XOR a) XOR (a XOR b) XOR b
= b XOR (a XOR a) XOR (b XOR b)
异或中的逆元是自身,这意味着任何值与自身异或都为零:
a = a XOR b
b = a XOR b = (a XOR b) XOR b
= a XOR (b XOR b)
= a XOR 0
a = a XOR b = (a XOR b) XOR (a XOR b) XOR b
= (b XOR a) XOR (a XOR b) XOR b
= b XOR (a XOR a) XOR (b XOR b)
= b XOR 0 XOR 0
异或中的标识元素为零,这意味着任何与零异或的值都保持不变:
a = a XOR b
b = a XOR b = (a XOR b) XOR b
= a XOR (b XOR b)
= a XOR 0
= a
a = a XOR b = (a XOR b) XOR (a XOR b) XOR b
= (b XOR a) XOR (a XOR b) XOR b
= b XOR (a XOR a) XOR (b XOR b)
= b XOR 0 XOR 0
= b XOR 0
= b
您可以在group theory获取更多信息。