什么是异或?
在逻辑学中,逻辑算符异或(
exclusive or
)是对两个运算元的一种逻辑析取类型,符号为 XOR 或 EOR 或 ⊕(编程语言中常用^
)。但与一般的逻辑或不同,异或算符的值为真仅当两个运算元中恰有一个的值为真,而另外一个的值为非真。转化为命题,就是:“两者的值不同。”或“有且仅有一个为真。”异或的规则是
0⊕0=0,0⊕1=1
1⊕0=1,1⊕1=0
异或的特性是什么?
恒等律:
X ⊕ 0 = X
归零律:X ⊕ X = 0
交换律:
A ⊕ B = B ⊕ A
结合律:A ⊕ (B ⊕ C) = (A ⊕ B) ⊕ C
自反:
A ⊕ B ⊕ B = A ⊕ 0 = A
异或妙用的例子
1、将变量置零
在汇编里经常使用xor a,a
2、在不引入第三个变量的情况下交换两个变量的值
下面是在python语言中的例子
a=3 b=5 a=a^b b=a^b a=a^b print(a,b)