Javascript按位运算符“<<”,“>>>”到Python

Javascript bitwise operator "<<", ">>>" to Python

本文关键字:Python Javascript 运算符      更新时间:2023-09-26

下面是一些javascript代码

a >>> (c -= 8)) % 256
a = (a << 6) + f

Python 中这些行是否有任何快捷方式等效代码?

python 中没有零填充的右移运算符>>>,我们不能在表达式中使用简写赋值运算符(如 c -= 8 )。所以可以这样写

(a >> (c - 8)) % 256
a = (a << 6) + f

是的,有。Python 按位运算符。

从文档中:

运营商:

x <<y

返回 x,其中位向左移动 y 位(和新位 右侧为零)。这与乘以 x 相同 由 2**y。

x>> y

返回 x,其中位向右移动 y 位。这是 与//'ing x x x 2**y 相同。

X & Y

做一个"按位和"。输出的每个位为 1,如果对应的 x 和 y 的位为 1,否则为 0。

X | Y

执行"按位或"。输出的每个位为 0,如果对应的 x 和 y 的位为 0,否则为 1。

~ x

返回 x 的补码 - 通过切换每个 1 得到的数字 对于 0,每个 0 表示 1。这与 -x - 1 相同。

x ^ y

执行"按位独占或"。输出的每个位都与 如果 Y 中的该位为 0,则 x 中的相应位为 0,并且它是 如果 x 中的位为 1,则 x 中的位的补码。