XOR中的Exclusive是什么意思?

时间:2011-03-05 22:32:26

标签: language-agnostic math logic boolean xor

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

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

“输入1,1”,“OR的特殊版本”还是别的什么?“

8 个答案:

答案 0 :(得分:17)

孩子们理解为OR

  

你可以拥有巧克力 OR   有冰淇淋

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

问:“你要茶还是咖啡” 恼人的程序员回答=是

答案 1 :(得分:16)

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

答案 2 :(得分:10)

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

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

答案 3 :(得分:8)

它的独特之处在于两个操作数必须互相排斥(换句话说,不同)。

答案 4 :(得分:5)

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

如果元素对一个集合是“独占的”(如与另一个集合“不共享”),则XOR运算符将返回true。插图from wikipedia

exclusive or

答案 5 :(得分:4)

XOR独家意味着它所说的 - 必须排除其中一个。也就是说,一个或另一个。既不是,也不是 - 只有一个。至少这就是我对它的理解:)

答案 6 :(得分:3)

它与“只有一个”一样独占。换句话说,它是“两个中的一个,但不是两个。”

答案 7 :(得分:1)

我今天读了一个很好的“普通英语”例子:

  

例如,考虑一下英语   句子,“你在周二或周二付钱给我   我会起诉。“如果那个”或“是”   逻辑连词,然后是句子   当你付钱给我时,这是真的   星期二或我起诉你;所以你可以付钱   我星期一,我仍然可以起诉   您。但这种“或”的特殊用法   通常被认为是指   你要么在星期二和我之间付钱给我   不要起诉你,或者你不付钱给我   星期二,我会起诉你 -   所谓的“独家或”。

Hugh Darwen,“关系数据库理论导论”,第76页。