在 Python 中,按位异或(XOR)使用 “^” 运算符。
基本概念
按位异或运算的规则是:对于两个对应的二进制位,如果两个位不同(一个为 0,另一个为 1),则结果为 1;如果两个位相同(都为 0 或都为 1),则结果为 0。
例如:
5 的二进制表示为 0101。
3 的二进制表示为 0011。
5 ^ 3 的结果为 0110,即 6。
应用场景
- 简单的数据加密
- 可以对数据进行简单的加密处理,通过再次与加密值进行异或运算可以解密数据。例如,你可以将一个整数与一个特定的密钥进行异或操作来隐藏其真实值,需要时再用相同的密钥进行异或操作以恢复原始值。
- 交换两个变量的值
- 不使用额外的临时变量来交换两个变量的值。例如:
a = 5
b = 10
a = a ^ b
b = a ^ b
a = a ^ b
print(a, b) # 输出:10 5
- 查找数组中只出现一次的数字
- 如果一个数组中除了一个数字之外,其他数字都出现了两次,那么可以通过对数组中所有数字进行异或运算来找到那个只出现一次的数字。因为相同的数字异或结果为 0,0 与任何数字异或结果为那个数字本身。