首页 > 解决方案 > JavaScript 中值 0x80000000 的数量是如何组织的?

问题描述

据我所知,JavaScript 的 Number 的最大值为2^53 - 1,远远超过0x80000000绝对值。

但这里的代码:

let N = 2147483648
console.log(N >> 1)

印刷:

-1073741824

我的预期是:

let N = 2147483648
// 1000 0000 0000 0000 0000 0000 0000 0000
N >>= 1
// 0100 0000 0000 0000 0000 0000 0000 0000

我知道的唯一规则可能导致这是符号位填充1,如果是这样,如何填充它,1因为左/右移位应该填充位0。与构建浮动的规则有什么关系吗?

标签: javascript

解决方案


推荐阅读