因此,XOR(^)运算符对布尔运算符有意义。它基本上与!=。
相同现在,对于int运算符,对我来说没有任何意义。我做了一点测试,这是我的结果(不知道为什么stackoverflow坚持像代码一样格式化它):
10 ^ 10 = 0
10 ^ 11 = 1
10 ^ 12 = 6
10 ^ 13 = 7
10 ^ 5 = 15
反向运算符似乎没有任何效果。这里的模式是什么?而且,这怎么可能在任何现实世界的应用程序中都有用呢?
答案 0 :(得分:2)
XOR是一个按位运算符,其简单的英文描述是“一个或另一个,但不是两个”。考虑到你的真值表,你需要以一种明智的方式来看待它们:
x y x^y
0 0 0 <-same values, so xor is 0
1 0 1 <-values differ, so xor is 1
0 1 1 <-values differ, so xor is 1
1 1 0 <-same values, so xor is 0
所以
10 decimal = 1010 binary
11 decimal = 1011 binary
12 decimal = 1100 binary
13 decimal = 1101 binary
10 ^ 11 -> 1010 ^ 1011 -> 0001 -> 1 decimal
10 ^ 12 -> 1010 ^ 1100 -> 0100 -> 6 decimal
etc...