📜  Python位运算符(1)

📅  最后修改于: 2023-12-03 15:19:31.815000             🧑  作者: Mango

Python位运算符

在Python中,位运算符用于执行比较数字的操作,这些数字以二进制形式表示。Python支持以下位运算符:

  • 按位与(&)
  • 按位或(|)
  • 按位异或(^)
  • 按位求反(~)
  • 左移(<<)
  • 右移(>>)
按位与(&)

按位与(&)运算符用于将两个数的每个位进行比较。如果两个位都为1,则结果为1,否则为0。

a = 60  # 二进制形式为 0011 1100
b = 13  # 二进制形式为 0000 1101

# 按位与运算的结果为 0000 1100
c = a & b

print("a & b 的结果为:", c)  # 输出为 12
按位或(|)

按位或(|)运算符用于将两个数的每个位进行比较。如果两个位都为0,则结果为0,否则为1。

a = 60  # 二进制形式为 0011 1100
b = 13  # 二进制形式为 0000 1101

# 按位或运算的结果为 0011 1101
c = a | b

print("a | b 的结果为:", c)  # 输出为 61
按位异或(^)

按位异或(^)运算符用于将两个数的每个位进行比较。如果两个位相同,则结果为0,否则为1。

a = 60  # 二进制形式为 0011 1100
b = 13  # 二进制形式为 0000 1101

# 按位异或运算的结果为 0011 0001
c = a ^ b

print("a ^ b 的结果为:", c)  # 输出为 49
按位求反(~)

按位求反(~)运算符用于将一个数的各个位取反。结果在Python中表示为一个负数。

a = 60  # 二进制形式为 0011 1100

# 按位求反运算的结果为 -61
c = ~a

print("~a 的结果为:", c)  # 输出为 -61
左移(<<)

左移(<<)运算符将一个数的二进制数向左移动指定的位数。在Python中,左移运算符为 <<

a = 60  # 二进制形式为 0011 1100

# 左移两位的结果为 1111 0000
c = a << 2

print("a << 2 的结果为:", c)  # 输出为 240
右移(>>)

右移(>>)运算符将一个数的二进制数向右移动指定的位数。在Python中,右移运算符为 >>

a = 60  # 二进制形式为 0011 1100

# 右移两位的结果为 0000 1111
c = a >> 2

print("a >> 2 的结果为:", c)  # 输出为 15

这些位运算符是处理二进制数时非常有用的工具,尤其是在与硬件交互时。熟练使用这些运算符能够让您更好地理解数字的可视化表示。