逻辑异或

本页使用了标题或全文手工转换,现处于中国大陆简体模式
求闻百科,共笔求闻
文氏图

在数字逻辑中,逻辑算符异或门exclusive or)是对两个运算元的一种逻辑分析类型。与一般的逻辑或不同,当两两数值相同为否,而数值不同时为真。[1]

对于命题 异或通常记作。在编程语言中,常写作p ^ q

真值表

异或运算真值表如下:

True True False
True False True
False True True
False False False
注:True:真,False:假。

无论怎样改变同一行中的位置,真值表都是成立的。

其他表示

在数学和工程学中,常常用其他的逻辑运算符来表示异或算符。异或算符可以使用逻辑算符逻辑与逻辑或逻辑非表示为:

另外,异或算符可以被推广,得到关于n个运算元的异或运算:n个运算元的n维异或的值为真当且仅当其中值为真的运算元有奇数个。

异或也可以被表示为:

异或还可以看作是逻辑等价关系的非运算。

性质

交换律

结合律

恒等律

归零律

自反

与近世代数的联系

尽管算子逻辑合取)与逻辑析取)是逻辑系统中最为常见的算子,但结构上,系统 and 只是幺半群。因此,这两个系统无法合成为一个更大的结构,比如半环

但是,带有逻辑异或的系统是一个交换群。因此,算子的结合在集合上作用就产生了最基本的二元。这个域可以得出所有运用可以得到的结果,并且由于附带了域的结构,可以进行代数上的进一步分析。

类似符号

名称 符号 Unicode 图形 符号的来源
地球 🜨 U+2295 地球的天文符号 带有赤道和一条经线的球体

使用异或运算交换两个 int 类型变量的数值

public void switch(int &a, int &b) {
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
}

参考来源

  1. Goldfarb, W.D. Deductive Logic. Hackett Pub. 2003: 15. ISBN 978-0-87220-660-1. 

参见