「
異或」和「
互斥或」均重新導向至此。關於邏輯門,請見「
異或門」。
在数位邏輯中,邏輯算符異或門(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;
}
參考來源
參見
- 恆真()
- 與非()
- 反蘊涵()
- 蘊涵()
- 或()
- 非()
- 異或()
- 雙條件()
- 命題
- 或非()
- 非蘊涵()
- 反非蘊涵()
- 與()
- 恆假()