主题
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 贡献

使用 Wolfram|Alpha 探索

参考文献

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.

在 Wolfram|Alpha 上被引用

异或

请引用为

Germundsson, RogerWeisstein, Eric W. "XOR." 来自 MathWorld--一个 Wolfram Web 资源。 https://mathworld.net.cn/XOR.html

主题分类