36

我不确定这个术语的确切定义。

我知道按位异或运算是逐位进行的,并按位置对相应位进行异或运算。这个结果是否称为“XOR 和”?如果不是,什么是 XOR 和,你如何使用 XOR 来实现这个加法?

4

1 回答 1

62

在一点点 XOR 操作中:

a   b   a^b
-----------
0   0    0
0   1    1
1   0    1
1   1    0 

异或和是指对整数的连续异或运算。
假设您有从1to的数字,N并且您必须找到它们的 XOR 和,那么对于N = 6,XOR 和将是1^2^3^4^5^6 = 7

1 = 001,  2 = 010,   3 = 011,   4 = 100,   5 = 101,   6 = 110  

 1^2          = 1^2  = 001^010 = 011 = 3  
(1^2)^3       = 3^3  = 011^011 = 000 = 0
(1^2^3)^4     = 0^4  = 000^100 = 100 = 4
(1^2^3^4)^5   = 4^5  = 100^101 = 001 = 1
(1^2^3^4^5)^6 = 1^6  = 001^110 = 111 = 7 --> XOR sum

希望这会有所帮助。

于 2013-06-24T22:54:36.353 回答