js中较大的数值进行右移位运算,结果不正确
一般来讲,右移一位的位运算,相当于除2,例如100>>2===25,
但是对于较大的数右移位运算,完全不正确
var id = 386547056836608
console.log(id>>8);
结果768
正确的结果1509949440768
测试右移8,16,24,32位右移,结果都不同,这个是js本身的位数限制,还是其它的问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
JS 在进行位运算前使用进行
toInt32
或是toUint32
进行类型转换,也就是说所有的为操作都是只取对应的 32 bits 来进行的。http://www.ecma-international...