Python 位运算符有助于执行位操作。首先,所有的十进制值都会转换为二进制值(位序列,例如 0100、1100、1000、1001 等)。接下来,位运算符通过向左或向右移位或将位值从 0 转换为 1(反之亦然)来对这些位进行操作。
下表显示了不同的 Python 位运算符及其含义。例如,考虑 x = 6 和 y = 8,它们的二进制形式值为:x = 0110 和 y = 1000
| 位运算符 | 含义 | 示例 |
|---|---|---|
| & | 按位与 | X & Y = 0000 |
| | | OR | X | Y = 1110 |
| ^ | 异或 | X ^ Y = 1110 |
| ~ | 补码 | ~X = 00001001 (非运算符会将所有 0 转换为 1。) |
| << | 左移 | X << 1 = 00001100 (位将向左移动 1 步。如果我们使用 2 或 3,它们将相应地移动) |
| >> | 右移 | Y >> 1 = 00000100 |
位运算符背后的真值表是
| x | y | x & y | X | y | x ^ y |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
Python 位运算符示例
在这个例子中,我们使用两个变量 a 和 b,它们的值分别为 9 和 65。接下来,我们使用它们向您展示位操作列表。
a = 9
b = 65
print("AND On 9 and 65 is = ", a & b)
print("OR On 9 and 65 is = ", a | b)
print("EXCLUSIVE OR On 9 and 65 is = ", a ^ b)
print("NOT On 9 is = ", ~a)
print("LEFT SHIFT On 9 is = ", a << 1)
print("RIGHT SHIFT On 65 is = ", b >> 1)

在这个 Python 位运算符程序中,我们声明了两个整数 a 和 b,并分别赋值为 9 和 65。9 的二进制形式是 00001001,65 的二进制形式是 01000001。
>>> a = 9 >>> b = 65
让我们看看这些运算符的 Python 计算
AND 运算 = a&b
00001001 & 01000001 = 00000001 = 1
整数值的 OR 运算 = a | b
00001001 | 01000001 = 01001001 = 73
异或运算 = a^b
00001001 ^ 01000001 = 01001000 = 72
右移运算 = b >> 1
01000001 >> 1 = 00100000 = 32
评论已关闭。