python 中的位操作符

时间:2022-02-03 17:46:14

python中这样处理位运算:

  • 复负数会被当成整数的二进制补码
  • 左移和右移会被当成2的N幂次运算
  • 对于长整型位操作使用一种经过修改的2进制补码形式,使得符号位可以无限制的向左扩展

 

python中的位操作
位操作 功能
~num 单目运算  结果为-(num+1)
num1<<num2 num1左移num2位  
num1 >> num2 num1 右移num2 位
num1 &num2 num1 num2按位与
num1 |num2 num1 num2 按位或
num1 ^ num2

 num1 num2  异或

>>> 30&45
12
>>> 30|45
63
>>> `30
SyntaxError: invalid syntax
>>> ~30
-31
>>> 45<<1 #左移就是将原来的数扩大到原来的2的幂次方
90
>>> 60>>2 #右移就是讲原来的数缩小到原来的2的幂次方
15
>>> 30^45
51
>>>