扫码关注官方订阅号
上面三张图分别是 js、python、java 对 1475907359829 取反的结果,为什么只有 js 的结果是 1561389994?
1475907359829
1561389994
认证高级PHP讲师
js 把要取反的数先转成 32位有符号整数 ,最大有效范围: 2^32/2-1
32位有符号整数
a=Math.pow( 2,32)/2-1 2147483647 ~a -2147483648 ~(a+1) 2147483647
依稀记得,js在做位运算的时候会把数字截成32位的有符号数进行计算,也就是说超过2^32-1这个值的数字可能在位运算上会得到错误的结果
js这个是int, 另外两个是long
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
js 把要取反的数先转成
32位有符号整数,最大有效范围: 2^32/2-1依稀记得,js在做位运算的时候会把数字截成32位的有符号数进行计算,也就是说超过2^32-1这个值的数字可能在位运算上会得到错误的结果
js这个是int, 另外两个是long