如标题所示,在JavaScript中有一个特定的运算符>>>
。例如,在JavaScript中我们将得到以下结果:
(-1000) >>> 3 = 536870787
(-1000) >> 3 = -125
1000 >>> 3 = 125
1000 >> 3 = 125
那么是否有某种方法或运算符表示这个 >>>
?
如标题所示,在JavaScript中有一个特定的运算符>>>
。例如,在JavaScript中我们将得到以下结果:
(-1000) >>> 3 = 536870787
(-1000) >> 3 = -125
1000 >>> 3 = 125
1000 >> 3 = 125
那么是否有某种方法或运算符表示这个 >>>
?
我认为Python中没有直接提供逻辑右移位运算符。不过你可以在Python中使用JavaScript,例如:
import js2py
rshift = js2py.eval_js('function $(a, b){ return a >>> b}')
print (rshift(244, 324)) #15
最高票答案对于 val < 0 和 n == 0 的情况产生了错误的结果!
def rshift(val, n):
if (val >= 0): return val >> n
elif (n == 0): return val
else: return (val + 0x10000000) >> n
>>> rshift(-1, 0)
-1