Python 位运算符

Python 位运算符有助于执行位操作。首先,所有的十进制值都会转换为二进制值(位序列,例如 0100、1100、1000、1001 等)。接下来,位运算符通过向左或向右移位或将位值从 0 转换为 1(反之亦然)来对这些位进行操作。

下表显示了不同的 Python 位运算符及其含义。例如,考虑 x = 6 和 y = 8,它们的二进制形式值为:x = 0110 和 y = 1000

位运算符含义示例
&按位与X & Y = 0000
|ORX | Y = 1110
^异或X ^ Y = 1110
~补码~X = 00001001 (非运算符会将所有 0 转换为 1。)
<<左移X << 1 = 00001100 (位将向左移动 1 步。如果我们使用 2 或 3,它们将相应地移动)
>>右移Y >> 1 = 00000100

位运算符背后的真值表是

xyx & yX | yx ^ y
00000
01011
10011
11110

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)
Bitwise Operators 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

评论已关闭。