Python中的位运算符有哪些?

2023-04-17 00:00:00 python 运算符 有哪些

Python中的位运算符包括:
1. 按位与(&):两个相应位都为1,结果才为1,否则为0。
例如:

a = 11 # 二进制表示为 1011
b = 9  # 二进制表示为 1001
c = a & b # 二进制表示为 1001,即9
print(c) # 输出9
  1. 按位或(|):两个相应位都为0,结果才为0,否则为1。
    例如:
a = 11 # 二进制表示为 1011
b = 9  # 二进制表示为 1001
c = a | b # 二进制表示为 1011,即11
print(c) # 输出11
  1. 按位异或(^):两个相应位不同,结果为1,否则为0。
    例如:
a = 11 # 二进制表示为 1011
b = 9  # 二进制表示为 1001
c = a ^ b # 二进制表示为 0010,即2
print(c) # 输出2
  1. 按位取反(~):对数值的二进制表示每一位取反,即0变为1,1变为0。
    例如:
a = 11 # 二进制表示为 1011
b = ~a  # 二进制表示为 -(1011 + 1) = -1100,即-12
print(b) # 输出-12

注意,按位取反会将值的符号位也进行取反,因此结果是一个负数,需要使用补码表示。
5. 左移(<<):将数值的二进制表示向左移动指定的位数。
例如:

a = 11 # 二进制表示为 1011
b = a << 2 # 二进制表示为 101100,即44
print(b) # 输出44
  1. 右移(>>):将数值的二进制表示向右移动指定的位数。
    例如:
a = 11 # 二进制表示为 1011
b = a >> 2 # 二进制表示为 10,即2
print(b) # 输出2

代码演示:

a = 11
b = 9
print(a & b)  # 输出9
print(a | b)  # 输出11
print(a ^ b)  # 输出2
print(~a)     # 输出-12
print(a << 2) # 输出44
print(a >> 2) # 输出2
# 使用字符串作为范例
s1 = "pidancode.com"
s2 = "皮蛋编程"
print(len(s1) & len(s2)) # 输出0
print(len(s1) | len(s2)) # 输出14

相关文章