javascript - Number.EPSILON 和 Number.MIN_VALUE。为什么两个不同?
问题描述
Number.EPSILON
两个可表示数字之间的最小间隔。
Number.MIN_VALUE
可表示的最小正数 - 即最接近零的正数(实际上不为零)。
Min_Value
是可以表示的最小正数。
Epsilon
是两个可表示数字之间的最小间隔。
为什么 Epsilon 不是最接近于零的?
Number.EPSILON === Number.MIN_VALUE false
Number.EPSILON 2.220446049250313e-16
Number.MIN_VALUE 5e-324
解决方案
Number.EPSILON 的定义与此稍有不同:
该
Number.EPSILON
属性表示 1 与大于 1 的最小浮点数之间的差。
这里的区别是representable
vs difference
(可测量的)
在 Javascript 中,数字存储在IEEE 754 标准中,这意味着我们可以表示非常小和大的值,但只能表示“大约”。对于非常大的数字,加法或减法运算将不准确,因为表示不准确。如果我们想要添加或减去非常“小”的数字,也是一样的。Number.EPSILON
可用于比较浮点数,因此我们不能为此使用“近似”表示。
推荐阅读
- python-2.7 - 如何删除特定版本的 Python?
- r - 如何在 Rstudio anaconda 中更新 R
- python - 将文本文件转换为表格格式
- angular - 如何为表 tbody 使用 cdk-virtual-scroll-viewport
- firebase - 访问节点上的所有子节点并为 Firebase 功能更新它们
- java - 在 maven pom.xml 中,如何指定我要将“.xml”文件复制到我的目标文件夹中?
- html - HTML/Javascript:获取圆形元素的 X、Y 坐标
- encoding - 如何批量更改文件的编码
- r - 我如何在 R 中制作人们的或有决策的概况?
- java - 如果 id 已经存在,Java 更新 mysql 行