打开主菜单

逻辑异或

如果兩個輸入都不是真,則為真
(重定向自XOR
文氏图

在数字邏輯中,逻辑算符互斥或閘exclusive or)是对两个运算元的一种邏輯分析类型。与一般的邏輯或不同,當兩兩數值相同為否,而數值不同時為真。

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

真值表编辑

异或运算 真值表如下:

     
     
     
     
     

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

其他表示编辑

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

 

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

异或也可以被表示为:

 

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

性质编辑

交换律 

结合律 

恒等律 

归零律 

自反 

与近世代数的联系编辑

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

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

類似符號编辑

名稱 符號 Unicode 圖形 符號的來源
地球 U+2295   带有赤道和一條經線的球體

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

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

参考来源编辑

参见编辑