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),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。
a ⊕ a = 0
a ⊕ b = b ⊕ a
a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c
d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c
a ⊕ b ⊕ a = b
若x是二进制数0101,y是二进制数1011;则x⊕y=1110
真⊕假=真
假⊕真=真
假⊕假=假
真⊕真=假