如何在python中获得逻辑右移二进制移位

问题描述

没有内置的运算符,但是您可以轻松地模拟>>>自己:

>>> def rshift(val, n): return val>>n if val >= 0 else (val+0x100000000)>>n
... 
>>> rshift(-1000, 3)
536870787
>>> rshift(1000, 3)
125

以下替代实现消除了对的需要if

>>> def rshift(val, n): return (val % 0x100000000) >> n

解决方法

如标题所示,JavaScript中有一个特定的运算符>>>。例如,在JavaScript中,我们将得到以下结果:

(-1000) >>> 3 = 536870787

(-1000) >> 3 = -125

1000 >>> 3 = 125

1000 >> 3 = 125

那么是否有某种方法或运算符来表示>>>呢?