位运算符在Python中用于直接对整数在内存中的二进制位进行操作。以下是Python中位运算符及其运算规则:
按位与(&)
当两个相应的二进制位都为1时,结果位为1,否则为0。
按位或(|)
只要两个相应的二进制位中至少有一个为1,结果位就为1,否则为0。
按位异或(^)
当两个相应的二进制位不相同时,结果位为1,否则为0。
按位取反(~)
对数据的每个二进制位执行取反操作,即0变为1,1变为0。
左移(<<)
将操作数的所有位向左移动指定的位数,右边补0。
右移(>>)
将操作数的所有位向右移动指定的位数,对于有符号整数,高位补符号位(算术右移),对于无符号整数,高位补0(逻辑右移)。
位运算符可以用于整数类型的操作数。下面是一些示例:
x = 9 二进制表示为 1001
y = 12 二进制表示为 1100
print(x & y) 结果为 1000,即 8
print(x | y) 结果为 1101,即 13
print(x ^ y) 结果为 0101,即 5
print(x << 2) 左移2位,结果为 ,即 36
print(~x) 取反结果为 -10
位运算符在编程中常用于优化算法、进行数据压缩、加密解密等场景。需要注意的是,位运算符只能用于整数类型