function(e, t) {
return e << t | e >>> 32 - t
}
我在js中有这个方法,但我对移位运算不是很了解。我想用python编写等效的代码,但是Python不支持JS中的零填充右移位运算符>>>
,请问如何编写?
function(e, t) {
return e << t | e >>> 32 - t
}
我在js中有这个方法,但我对移位运算不是很了解。我想用python编写等效的代码,但是Python不支持JS中的零填充右移位运算符>>>
,请问如何编写?
Python中没有内置的零填充右移运算符,但是您可以轻松地定义自己的zero_fill_right_shift
函数:
def zero_fill_right_shift(val, n):
return (val >> n) if val >= 0 else ((val + 0x100000000) >> n)
然后,您可以定义您的函数:
def f(e, t):
return e << t or zero_fill_right_shift(e, 32 - t)
def rshift(val, n): return (val % 0x100000000) >> n
。请参考该问题和答案。 - Ali