主題
Search

異或 (XOR)


XORGate

邏輯學中的一種連線詞,被稱為“異或”,或互斥析取。當且僅當兩個條件中恰好一個為真(但不是兩者都為真)時,它才為真。異或運算沒有標準符號,但有時表示為 A xor B (本文) 或 A direct sum B (Simpson 1987, pp. 539 和 550-554)。A xor B 讀作 “A aut B”,其中 “aut” 在拉丁語中表示 “或,但不是兩者都”。XOR 門的電路圖符號如上所示。在集合論中,A xor B 通常被稱為對稱差。XOR 函式的實現方式為Xor[predicate1, predicate2, ...].

二元 XOR 運算 A xor B非等價 A≢B 相同。A xor B 可以使用 ANDOR 門實現為

A xor B=(A ^ !B) v (!A ^ B)
(1)
=(A v B) ^ (!A v !B),
(2)

其中  ^ 表示 AND v 表示 OR,並且可以使用僅 NOTNAND 門實現為

 A xor B=(A nand !B) nand (!A nand B)
(3)

(Simpson 1987),其中  nand 表示 NAND

二元 XOR 運算子具有以下真值表

ABA xor B

二項式係數 (m; n) mod 2 可以使用 XOR 運算 n XOR m 計算,使得構建模 2 的帕斯卡三角形非常容易。

對於多個引數,XOR 被定義為當且僅當奇數個引數為真時為真,否則為假。這個定義在計算機科學中非常常見,在計算機科學中,XOR 通常被認為是模 2 加法。在這種情況下,它出現在模 2 的多項式代數、帶有全加器的算術電路以及奇偶校驗生成或校驗中。雖然這意味著多引數 “XOR” 不再能被認為是 “互斥 OR” 運算,但這種形式在數理邏輯中很少使用,因此不會造成太大的混淆。XOR 運算是結合律的,因此 a xor (b xor c)(a xor b) xor c 相同。多引數 XOR 的計算需要評估其所有引數以確定真值,因此沒有 “惰性” 特殊求值形式(就像 ANDOR 那樣)。

因此,三元 XOR 運算子具有以下真值表。

ABCA xor B xor C
BitXor

也可以定義 XOR 的按位版本,它對兩個數字 xy 的二進位制數字執行按位 XOR,然後將結果二進位制數轉換回十進位制。按位 XOR 在Wolfram 語言中實現為BitXor[n1, n2, ...]。上面的圖示繪製了從 -31 到 31 的數字陣列的按位 XOR (Stewart 2000; Rangel-Mondragon; Wolfram 2002, p. 871)。


另請參閱

AND, Aut, 二元運算子, 布林代數, 連線詞, 邏輯, Munching Squares, NAND, NOR, NOT, OR, 帕斯卡三角形, 對稱差, 真值表, XNOR

此條目的部分內容由Roger Germundsson貢獻

使用 探索

參考文獻

Rangel-Mondragon, J. "A Catalog of Cellular Automata." http://library.wolfram.com/infocenter/MathSource/505/.Simpson, R. E. "The Exclusive OR (XOR) Gate." §12.5.6 in Introductory Electronics for Scientists and Engineers, 2nd ed. Boston, MA: Allyn and Bacon, pp. 550-554, 1987.Stewart, I. "A Fractal Guide to Tic-Tac-Toe." Sci. Amer. 283, 86-88, 2000.Wolfram, S. A New Kind of Science. Champaign, IL: Wolfram Media, p. 871, 2002.

在 上引用

異或 (XOR)

請引用為

Germundsson, RogerWeisstein, Eric W. “XOR.” 來自 Web 資源。 https://mathworld.tw/XOR.html

主題分類