算法背景
- 异或(eor)是一个数学运算符。它应用于逻辑运算。
- 异或的数学符号为“⊕”,计算机符号为“eor”。程序中有三种演算子:XOR、eor、⊕。
- C语言和C++语言(C++支持eor,用法和效果如’
^
'相同)的异或不用eor,而是用“^
”。(而其它语言的“^”一般表示乘方)
运算规则
相异为真,相同为假:
- 归零律:a ⊕ a = 0
- 恒等律:a ⊕ 0 = a
- 交换律:a ⊕ b = b ⊕ a
- 结合律:a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;
- 自反:a ⊕ b ⊕ a = b.
- d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c.
- 若x是二进制数0101,y是二进制数1011;则x⊕y=1110
用于交换变量:
若需要交换两个变量的值,除了通常使用的借用中间变量进行交换外,还可以利用异或
void swap(int &a