JavaScript中Number.MIN_VALUE-1的错误结果

时间:2019-02-28 11:08:16

标签: javascript

console.log(Number.MIN_VALUE);  // 5e-324
console.log(Number.MIN_VALUE - 1); // -1

Number.MIN_VALUE的值为5e-324,但是如果我从中减去1,则会返回-1

它看起来有些垃圾值,但是我想知道为什么JavaScript解释器无法表示它。否则,Number.MAX_VALUE + 1Number.MAX_VALUE(1.7976931348623157e+308)相同。

计算Numbers.MAX_VALUENumbers.MIN_VALUE有什么区别吗?

1 个答案:

答案 0 :(得分:1)

Number.MIN_VALUE - 1等于-0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999

我认为,即使不考虑诸如浮点数错误之类的事情,任何理性的人都认为这是-1

请注意,Number.MIN_VALUE是可以表示的最小值大于零。正如您所期望的那样,它不是“负Number.MAX_VALUE”。