Python中的位运算符有哪些?
Python中的位运算符包括:
1. 按位与(&):两个相应位都为1,结果才为1,否则为0。
例如:
a = 11 # 二进制表示为 1011 b = 9 # 二进制表示为 1001 c = a & b # 二进制表示为 1001,即9 print(c) # 输出9
- 按位或(|):两个相应位都为0,结果才为0,否则为1。
例如:
a = 11 # 二进制表示为 1011 b = 9 # 二进制表示为 1001 c = a | b # 二进制表示为 1011,即11 print(c) # 输出11
- 按位异或(^):两个相应位不同,结果为1,否则为0。
例如:
a = 11 # 二进制表示为 1011 b = 9 # 二进制表示为 1001 c = a ^ b # 二进制表示为 0010,即2 print(c) # 输出2
- 按位取反(~):对数值的二进制表示每一位取反,即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
- 右移(>>):将数值的二进制表示向右移动指定的位数。
例如:
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
相关文章