位运算符通常在图形、图像处理和创建设备驱动等底层开发中使用。使用位运算符可以直接操作数值的原始 bit 位,尤其是在使用自定义的协议进行通信时,使用位运算符对原始数据进行编码和解码也非常有效。
位运算符对于初学者来说有些难度,因此初学者可先跳过本节内容。
Python 支持的位运算符有如下 6 个:
- &:按位与。
- |:按位或。
- ^:按位异或。
- ~:按位取反。
- <<:左位移运算符。
- >>:右位移运算符。
位运算符的运算法则如表 1 所示:
第一个操作数 | 第二个操作数 | 按位与 | 按位或 | 按位异或 |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
按位非只需要一个操作数,这个运算符将把操作数在计算机底层的二进制码按位取反。如下代码测试了按位与和按位或的运行结果:
# 将输出1 print(5 & 9) # 将输出13 print(5 | 9)
程序执行的结果是:5&9 的结果是 1,5|9 的结果是 13。下面介