异或的妙用

什么是异或?

在逻辑学中,逻辑算符异或( 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)

猜你喜欢

转载自www.cnblogs.com/zhouxudong/p/9199021.html