Nik*_*hil 3 javascript python integer bit-manipulation xor
我精通两种语言......但我遇到整数按位异或逻辑运算符的问题.在javascript中,它给了我一个结果,在python中它给了我另一个..
继续,打开python并执行(-5270299)^ 2825379669
现在使用javascript,进行相同的计算,并提醒结果或其他任何内容(例如http://thorat.org/OS/js.php)
结果不同!我不知道为什么!
我肯定错过了什么.
JavaScript的整数是32位,而long当值超过32位时,Python会自动转换为无限长度格式.如果明确强制Python不签名扩展超过32位,或者如果将结果截断为32位,那么结果是相同的:
>>> (-5270299 & 0xFFFFFFFF) ^ 2825379669
1472744368L
>>> (-5270299 ^ 2825379669) & 0xFFFFFFFF
1472744368L
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
810 次 |
| 最近记录: |