XOR中的Exclusive是什么意思?

Leg*_*end 11 language-agnostic math logic boolean xor

也许这对每个人来说都是显而易见的,但有人可以解释XOR(或Exclusive-OR)从哪里得到它的名字?Exclusive这个词究竟意味着什么?并不重要,但它从早上起就停留在我脑海里.

OR:
0 0 0
0 1 1
1 0 1
1 1 1

XOR:
0 0 0
0 1 1
1 0 1
1 1 0
Run Code Online (Sandbox Code Playgroud)

是"输入1,1","OR的特殊版本"或其他什么?

Mar*_*ett 18

这是孩子们理解的OR

你可以吃巧克力,或者你可以吃冰淇淋

但程序员会认为这两者都有!

问:"你想要茶还是咖啡"
烦人的程序员回答=是的


dla*_*nod 17

XOR是"异或",因为如果两个值是独占的,它只返回"真"值1,即它们都是不同的.


dba*_*ett 10

据Knuth在Vol.TAOCP的4A,乔治布尔"......写了x + y代表分离,但他努力不要使用这种表示法,除非x和y相互排斥(不是两者都有).如果有必要,他写了x +(1- x)y以确保分离的结果永远不会是2."

XOR是随着携带丢失而增加的.


zne*_*eak 8

它在两个操作数必须互斥(换句话说,不同)的意义上是唯一的.


Wim*_*nen 5

这来自集合论.考虑您有两个集合A和B,以及一个可能存在或不存在于这些集合中的元素.如果元素在集合A中,则第一个布尔输入为true.如果元素在集合B中,则第二个布尔输入为true.

如果元素对一个集合是"独占的"(如与另一个集合"不共享"),则XOR运算符将返回true.来自维基百科的插图:

独家或