有没有办法让python产生与java左移相同的结果? - java

我必须将某些功能从Java代码转移到Python。
但是左移会返回不同的结果。
而且Python在Java中缺少>>>运算符

如何使它们相同?
的Python:6116937115306182825 << 11 = 12527487212147062425600

java:6116937115306182825 << 11 = 2147986098276878336336

参考方案

java的位数有限(64),而python没有...因此您需要将其强制为正确的位数(64)

(6116937115306182825 << 11) & 0xFFFFFFFFFFFFFFFF

45码