例如,假设我有x XOR y = y XOR x = z
。是否可以使用a XOR b = z
?
答案 0 :(得分:8)
简答:是的
答案很长: XOR是一个二进制操作,它适用于各个位,它是可交换的。
它有真值表:
A B Q
0 0 0
0 1 1
1 0 1
1 1 0
由于数字由这些位组成,因此结果将是相同的,只要对于每个位位置,两位具有相同的结果。 例如,取2个8位数字113和42
113 = 01110001
42 = 00101010
XOR = 01011011 = 91
但如果我从左边交换第四位,我得到
97 = 01100001
58 = 00111010
XOR = 01011011 = 91
再次,是的......
答案 1 :(得分:5)
是
z = y
因为x ^ y ^ x = y
因此组合a ^ b = y = z
完全可能。
事实上,对于每个a
,都存在b
a ^ b = z
。要计算,b = z ^ a
。
请注意XOR is commutative:这意味着x ^ y
= y ^ x
。
答案 2 :(得分:4)
是。作为简并证明,对一个数字进行异或运算总是导致0。
答案 3 :(得分:0)
XOR,如果两个参数不同,将返回true,假设参数都是布尔值。这与or不同,如果任一参数为true,则返回true;如果两者都为假,则返回true。