異或,英文為exclusive OR,縮寫成xor
異或(xor)是壹個數學運算符。它應用於邏輯運算。異或的數學符號為“⊕”,計算機符號為“xor”。其運算法則為:
a⊕b = (?a ∧ b) ∨ (a ∧?b)
如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0。
異或也叫半加運算,其運算法則相當於不帶進位的二進制加法:二進制下用1表示真,0表示假,則異或的運算法則為:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同為0,異為1),這些法則與加法是相同的,只是不帶進位,所以異或常被認作不進位加法。
異或略稱為XOR、EOR、EX-OR
程序中有三種演算子:XOR、xor、⊕。
使用方法如下
z = x ⊕ y
z = x xor y
擴展資料
運算法則
1)交換律:a ^ b = b ^ a。
2)結合律:a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;
d = a ^ b ^ c 可以推出 a = d ^ b ^ c。
3)自反性:a ^ b ^ a = b。
異或運算最常見於多項式除法,不過它最重要的性質還是自反性:
A^B^ B=A,即對給定的數A,用同樣的運算因子(B)作兩次異或運算後仍得到A本身。這是壹個神奇的性質,利用這個性質,可以獲得許多有趣的應用。例如,所有的程序教科書都會向初學者指出,要交換兩個變量的值,必須要引入壹個中間變量。但如果使用異或,就可以節約壹個變量的存儲空間:
設有A,B兩個變量,存儲的值分別為a,b,則以下三行表達式將互換他們的值表達式(值):
A=A^B(a^b);
B=B^A(b^a^b=a);
A=A^B(a^b^a=b)。
類似地,該運算還可以應用在加密,數據傳輸,校驗等等許多領域。
x是二進制數0101;
y是二進制數1011;
則結果為x^y=1110;
0^0=0;0^1=1;1^0=1;1^1=0;
只有在兩個比較的位不同時其結果是1,否則結果為0。
即“相同為0,不同為1”。
百度百科-異或運算
百度百科-異或操作