为什么在JavaScript中0小于Number.MIN_值?
使用Node.js,我计算表达式:为什么在JavaScript中0小于Number.MIN_值?,javascript,node.js,numbers,double,Javascript,Node.js,Numbers,Double,使用Node.js,我计算表达式: 0 < Number.MIN_VALUE 0-Number.MAX\u VALUE返回trueNumber.MIN\u SAFE\u INTEGER@Vohuman:但是零不是比所有负数都大吗?Number.MIN\u SAFE\u INTEGER在Node.js 0.10.x中是未定义的。Number.MIN\u SAFE\u INTEGER在Node.js.10.x中是未定义的,有时人们忘记了e符号。提升为负指数的正数仍然是正数。我教过那些认为3*
0 < Number.MIN_VALUE
0
令我惊讶的是,这返回了
true
。为什么呢?和:我如何才能得到最小的可供比较的数字?因为number.MIN\u VALUE=5e-324=5 x 10^-324
比0
大一点。阅读更多。
数字。最小值是5e-324
,即在浮点精度范围内可以表示的最小正数,即尽可能接近零。它定义了浮动给您的最佳分辨率
现在总的最小值是数值。负数
,虽然从严格意义上说它不是真正的数字。Number。最小值
相当于5e-324,大于0。使用-Number.MAX\u值
代替Number.MIN\u值进行比较:
0>-Number.MAX\u VALUE
返回true
Number.MIN\u SAFE\u INTEGER
@Vohuman:但是零不是比所有负数都大吗?Number.MIN\u SAFE\u INTEGER
在Node.js 0.10.x中是未定义的。Number.MIN\u SAFE\u INTEGER
在Node.js.10.x中是未定义的,有时人们忘记了e
符号。提升为负指数的正数仍然是正数。我教过那些认为3**-2===-9
的高中生。感谢他们解释了这种行为,并指出了一个可行的选择:-)我真不敢相信我真的不得不查这个来找出我的代码为什么错了。我发誓,javascript,有时…我会说数字。负无穷大
是最小的值(从这个意义上说,没有其他值可以比它小),但不是最小的。“小”一词表示小数量,即接近0的值,“大”表示远离零的值(-1000表示“大于”10)。所以从这个意义上说,-Infinity
是相当大的,即使它是负数。-Number.MAX\u VALUE
不等于Number.MIN\u VALUE
。而且,-Number.MAX_VALUE
是一个负数,所以你说的是0>[负数]
,这总是正确的。这是正确的。我认为让人反感的是负指数-324
。我教的高中生认为3**-2===-9
。