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

使用 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 上引用

异或 (XOR)

请引用为

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

主题分类