邏輯學中的一種連線詞,被稱為“異或”,或互斥析取。當且僅當兩個條件中恰好一個為真(但不是兩者都為真)時,它才為真。異或運算沒有標準符號,但有時表示為 (本文) 或
(Simpson 1987, pp. 539 和 550-554)。
讀作 “
aut
”,其中 “aut” 在拉丁語中表示 “或,但不是兩者都”。XOR 門的電路圖符號如上所示。在集合論中,
通常被稱為對稱差。XOR 函式的實現方式為Xor[predicate1, predicate2, ...].
二元 XOR 運算 與非等價
相同。
可以使用 AND 和 OR 門實現為
|
(1)
| |||
|
(2)
|
其中 表示 AND,
表示 OR,並且可以使用僅 NOT 和 NAND 門實現為
|
(3)
|
(Simpson 1987),其中 表示 NAND。
| 真 | 真 | 假 |
| 真 | 假 | 真 |
| 假 | 真 | 真 |
| 假 | 假 | 假 |
二項式係數 mod 2 可以使用 XOR 運算
XOR
計算,使得構建模 2 的帕斯卡三角形非常容易。
對於多個引數,XOR 被定義為當且僅當奇數個引數為真時為真,否則為假。這個定義在計算機科學中非常常見,在計算機科學中,XOR 通常被認為是模 2 加法。在這種情況下,它出現在模 2 的多項式代數、帶有全加器的算術電路以及奇偶校驗生成或校驗中。雖然這意味著多引數 “XOR” 不再能被認為是 “互斥 OR” 運算,但這種形式在數理邏輯中很少使用,因此不會造成太大的混淆。XOR 運算是結合律的,因此 與
相同。多引數 XOR 的計算需要評估其所有引數以確定真值,因此沒有 “惰性” 特殊求值形式(就像 AND 和 OR 那樣)。
因此,三元 XOR 運算子具有以下真值表。
| 真 | 真 | 真 | 真 |
| 真 | 真 | 假 | 假 |
| 真 | 假 | 真 | 假 |
| 真 | 假 | 假 | 真 |
| 假 | 真 | 真 | 假 |
| 假 | 真 | 假 | 真 |
| 假 | 假 | 真 | 真 |
| 假 | 假 | 假 | 假 |
也可以定義 XOR 的按位版本,它對兩個數字 和
的二進位制數字執行按位 XOR,然後將結果二進位制數轉換回十進位制。按位 XOR 在Wolfram 語言中實現為BitXor[n1, n2, ...]。上面的圖示繪製了從
到 31 的數字陣列的按位 XOR (Stewart 2000; Rangel-Mondragon; Wolfram 2002, p. 871)。