当我们对两个integer(十进制数)做异或运算(xor)时:
以 11 异或 19 举例
会首先将两个十进制数转化成二进制的:
(
11
)
10
(11)_{10}
(11)10=
(
1011
)
2
(1011)_{2}
(1011)2
(
19
)
10
(19)_{10}
(19)10=
(
10011
)
2
(10011)_{2}
(10011)2
然后对相同二进制位进行考虑(不够的位补0):
01011
01011
01011
10011
10011
10011
对于一个二进制位,两数在该位置上的数字相同,结果为0,否则结果为1
所以最终结果为:
(
11000
)
2
(11000)_{2}
(11000)2
即
(
11
)
10
(11)_{10}
(11)10^
(
19
)
10
(19)_{10}
(19)10=
(
24
)
10
(24)_{10}
(24)10
python 中,我们都可以用类似
11 ^ 19
的式子得到我们想要算的异或值