Bitwise XOR运算符不在python中工作

Sau*_*gat 2 python bit-manipulation xor operator-keyword

我想这样做:

打印17593028247552 ^ 909522486

结果必须是67450422(在javascript中),但我得到17592253494838L

请帮我 !提前致谢 :)

PM *_*ing 7

Python 2的long类型(或intPython 3)可以根据需要增长,但看起来你想要一个32位的结果.

您只需要屏蔽结果,这样您只能获得结果的低32位.我想,既然你使用Python 2,你也应该将它转换longint.

>>> int((17593028247552 ^ 909522486 ) & 0xffffffff)
67450422
Run Code Online (Sandbox Code Playgroud)