Python 3 – 位运算符示例
Python 3 中的位运算符可以帮助我们快速进行二进制的操作。Python 3 中有 6 个位运算符:按位与(&)、按位或(|)、按位异或(^)、左移(<<)、右移(>>)、取反(~)。下面是具体使用示例:
按位与(&)
按位与(&)操作可以将两个二进制数的对应位进行与操作,对于每一位都为 1 的情况,结果才为 1,否则结果为 0。例如:
a = 60 # 二进制:0011 1100
b = 13 # 二进制:0000 1101
print(a & b) # 输出 12 (二进制:0000 1100)
按位或(|)
按位或(|)操作可以将两个二进制数的对应位进行或操作,对于每一位都为 0 的情况,结果才为 0,否则结果为 1。例如:
a = 60 # 二进制:0011 1100
b = 13 # 二进制:0000 1101
print(a | b) # 输出 61 (二进制:0011 1101)
按位异或(^)
按位异或(^)操作可以将两个二进制数的对应位进行异或操作,对于每一位都相同的情况,结果为 0,否则结果为 1。例如:
a = 60 # 二进制:0011 1100
b = 13 # 二进制:0000 1101
print(a ^ b) # 输出 49 (二进制:0011 0001)
左移(<<)
左移(<<)操作可以将一个二进制数的所有位向左移动若干位,左移 n 位等价于乘以 2 的 n 次方。例如:
a = 10 # 二进制:0000 1010
print(a << 2) # 输出 40 (二进制:0010 1000)
右移(>>)
右移(>>)操作可以将一个二进制数的所有位向右移动若干位,右移 n 位等价于除以 2 的 n 次方取整。例如:
a = 40 # 二进制:0010 1000
print(a >> 2) # 输出 10 (二进制:0000 1010)
取反(~)
取反(~)操作可以将一个二进制数的每一位都取反,0 变为 1,1 变为 0。例如:
a = 10 # 二进制:0000 1010
print(~a) # 输出 -11 (二进制:1111 0101)
结论
通过上述的示例代码,我们了解了 Python 3 中的 6 种位运算符的使用方法,可以尝试各种运用场景,发掘更多灵活的用法。