Python的位运算符

阅读量: 159 编辑

Python 提供了一组位运算符,用于对整数的二进制表示进行操作。

这些运算符允许您在位级别上执行操作,如按位与、按位或、按位异或等。

一、按位与(AND)

& 表示。

对于每个比特位,只有两个操作数的对应位都为 1 时,结果为 1,否则为 0。

a = 5  # 二进制:0101
b = 3  # 二进制:0011
result = a & b  # 二进制:0001,结果为 1

二、按位或(OR)

| 表示。

对于每个比特位,只要两个操作数的对应位中至少有一个为 1,结果为 1,否则为 0。

a = 5  # 二进制:0101
b = 3  # 二进制:0011
result = a | b  # 二进制:0111,结果为 7

三、按位异或(XOR)

^ 表示。

对于每个比特位,只有两个操作数的对应位不同,结果为 1,否则为 0。

a = 5  # 二进制:0101
b = 3  # 二进制:0011
result = a ^ b  # 二进制:0110,结果为 6

四、按位取反

~ 表示。

对于每个比特位,0 变为 1,1 变为 0。

a = 5  # 二进制:0101
result = ~a  # 二进制:1010,结果为 -6(由于 Python 中整数使用补码表示)

五、左移

<< 表示。

将一个数的所有比特位向左移动指定的位数,低位补 0。

a = 5  # 二进制:0101
result = a << 2  # 二进制:010100,结果为 20

六、右移

>> 表示。

将一个数的所有比特位向右移动指定的位数。

a = 5  # 二进制:0101
result = a >> 1  # 二进制:0010,结果为 2

位运算符在一些特定的编程场景中很有用,如位掩码、位字段操作等。

它们允许您在更底层的层次上操作数据,对于一些性能敏感的情况可能会很有帮助。

爱码岛编程公众号
微信扫码关注
爱码岛编程小程序
微信扫码打开
苏ICP备13052010号
©2023 南京匠成信息科技有限公司