python位运算符案例

当我们需要对二进制数字进行逐位操作时,Python提供了位运算符来处理。以下是一些常见的位运算符和案例:

1.按位与(&):对两个操作数的每个位执行逻辑与操作,并返回结果。

a = 5  # 二进制表示为 0101
b = 3  # 二进制表示为 0011

result = a & b  # 二进制结果为 0001,转换为十进制为 1
print(result)  # 输出: 1

2.按位或(|):对两个操作数的每个位执行逻辑或操作,并返回结果。

a = 5  # 二进制表示为 0101
b = 3  # 二进制表示为 0011

result = a | b  # 二进制结果为 0111,转换为十进制为 7
print(result)  # 输出: 7

3.按位异或(^):对两个操作数的每个位执行逻辑异或操作,并返回结果。

a = 5  # 二进制表示为 0101
b = 3  # 二进制表示为 0011

result = a ^ b  # 二进制结果为 0110,转换为十进制为 6
print(result)  # 输出: 6

4.按位取反(~):对操作数的每个位执行逻辑取反操作,并返回结果。

现在我们可以理解上面那个例子,9按位取反后得到11110110,其第一位为1,源码为负值。
取反后为00001001,再加1得00001010,其值为10,再加上负号即为-10。

也即 ~9=-10

a = 5  # 二进制表示为 0101

result = ~a  # 二进制结果为 1010(在计算机中使用补码表示负数)
print(result)  # 输出: -6

5.左移(<<):将操作数的每个位向左移动指定数量的位数,并返回结果。

a = 5  # 二进制表示为 0101

result = a << 2  # 二进制结果为 010100(在计算机中使用补码表示负数)
print(result)  # 输出: 20

6.右移(>>):将操作数的每个位向右移动指定数量的位数,并返回结果。

a = 5  # 二进制表示为 0101

result = a >> 1  # 二进制结果为 0010
print(result)  # 输出: 2

这些是一些常见的位运算符和案例,它们在处理二进制数字时非常有用。请注意,在实际应用中,位运算符可能会有更多的复杂用途。

现在我们可以理解上面那个例子,9按位取反后得到11110110,其第一位为1,源码为负值。
取反后为00001001,再加1得00001010,其值为10,再加上负号即为-10。

也即 ~9=-10

猜你喜欢

转载自blog.csdn.net/m0_74972727/article/details/131471959