python 和 javascript 按位与(&)的区别是什么? 为什么运算出来的结果不一样?

javascript :
x = 4023233417;
y = 2562383102;
r1 = x & y; 结果 (-2004318072)

python :
x = 4023233417
y = 2562383102
r1 = x & y 结果 (2290649224)

求大神帮忙~

第1个回答  2017-06-25
JS的按位的结果是有符号整数, 而Py的是无符号整数
你可以通过
JS
x = 4023233417
y = 2562383102
r1 = (x & y) >>> 0
来迫使一个有符号整数转为无符号的追问

python 怎么转化成有符号的呢?

追答

Py
import ctypes
ctypes.c_int32(2290649224).value

本回答被提问者采纳
相似回答