在python中零填充右移

问题描述 投票:1回答:1
function(e, t) {
    return e << t | e >>> 32 - t
}

我在js中有这个方法,我不太了解移位操作。我想在python中写一下。如何在python中编写等效代码,因为它不像JS >>>那样支持Zero Fill Right Shift Operator。

javascript python-3.x bit-shift
1个回答
1
投票

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)
© www.soinside.com 2019 - 2024. All rights reserved.