📅  最后修改于: 2023-12-03 15:19:31.815000             🧑  作者: Mango
在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
这些位运算符是处理二进制数时非常有用的工具,尤其是在与硬件交互时。熟练使用这些运算符能够让您更好地理解数字的可视化表示。