📅  最后修改于: 2023-12-03 15:34:26.558000             🧑  作者: Mango
在编程中,按位运算是一种通过直接操作数字的二进制位进行运算的方式。Python也提供了按位运算的功能和运算符。
按位与运算用符号&
表示,它将两个操作数的每个对应位都进行与操作。如果对应位都为1,则结果为1,否则为0。
例如:
a = 60 # 60的二进制位为 0011 1100
b = 13 # 13的二进制位为 0000 1101
# 按位与运算
c = a & b # 为 0000 1100
print(c) # 输出12
按位或运算用符号|
表示,它将两个操作数的每个对应位都进行或操作。如果对应位都为0,则结果为0,否则为1。
例如:
a = 60 # 60的二进制位为 0011 1100
b = 13 # 13的二进制位为 0000 1101
# 按位或运算
c = a | b # 为 0011 1101
print(c) # 输出61
按位异或运算用符号^
表示,它将两个操作数的每个对应位都进行异或操作。如果对应位不同,则结果为1,否则为0。
例如:
a = 60 # 60的二进制位为 0011 1100
b = 13 # 13的二进制位为 0000 1101
# 按位异或运算
c = a ^ b # 为 0011 0001
print(c) # 输出49
按位取反运算用符号~
表示,它将操作数的每个二进制位进行取反操作。
例如:
a = 60 # 60的二进制位为 0011 1100
# 按位取反运算
c = ~a # 为 -61
print(c) # 输出-61
左移运算用符号<<
表示,它将一个操作数的二进制位向左移动指定的位数。
例如:
a = 60 # 60的二进制位为 0011 1100
# 左移运算
c = a << 2 # 为 1111 0000
print(c) # 输出240
右移运算用符号>>
表示,它将一个操作数的二进制位向右移动指定的位数。
例如:
a = 60 # 60的二进制位为 0011 1100
# 右移运算
c = a >> 2 # 为 0000 1111
print(c) # 输出15
按位运算在某些情况下可以提高运算速度和效率,特别是在处理大量数据和位掩码时。因此,在编写Python程序时,必须对按位运算有一定的了解和掌握。