主題
Search

異或


XORGate

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

二元異或運算 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

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

ABA xor B

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

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

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

ABCA xor B xor C
BitXor

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


另請參閱

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

此條目的部分內容由 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.

在 上被引用

異或

請引用為

Germundsson, RogerWeisstein, Eric W. "XOR." 來自 --一個 資源。 https://mathworld.tw/XOR.html

主題分類