gpt4 book ai didi

java - 在 Python 中获得与 Java 相同的左移

转载 作者:行者123 更新时间:2023-11-30 07:59:59 25 4
gpt4 key购买 nike

具体来说,我想取这个号码:

x = 1452610545672622396

并执行

x ^= (x << 21) // In Python I do x ^= (x << 21) & 0xffffffffffffffff

我想得到: -6403331237455490756,这是我在 Java 中得到的

而不是:12043412836254060860,这是我在 Python 中得到的(这是我不想要的)

编辑:在 Java 中我这样做:

long x = 1452610545672622396;
x ^= (x << 21);

最佳答案

你可以像 java 一样使用 ctypes.c_longlong 来使用 64bit signed int,请看下面的例子:

from ctypes import c_longlong as ll

x = 1452610545672622396

output = ll(x^(x<<21))

print output
print output.__class__

关于java - 在 Python 中获得与 Java 相同的左移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38872627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com