python中的零填充右移

时间:2019-03-06 02:40:32

标签: javascript python-3.x bit-shift

function(e, t) {
    return e << t | e >>> 32 - t
}

我在js中有此方法,对于移位操作我不太了解。我想用python编写。如何使用python写等效代码,因为它不像JS中那样支持零填充右移运算符 >>>

1 个答案:

答案 0 :(得分: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)