【发布时间】:2016-11-05 00:50:35
【问题描述】:
我正在尝试获取 R 中最大/最小的可表示数字。
输入“.Machine”后
我明白了:
$double.xmin
[1] 2.225074e-308
$double.xmax
[1] 1.797693e+308
但是,即使我在 R 命令提示符下键入 2.225074e-309,我也会得到 2.225074e-309 而不是预期的 0
我如何找到最大/最小的数字,加或减 1 会导致 Inf(最大数字加 1)或 0(最小数字减 1)?
【问题讨论】:
-
我认为这取决于机器和编程语言。无论如何,除非我遗漏了什么,.Machine 没有给我想要的结果
-
这些是
IEEE双精度最大值和最小值。 -
上限是准确的(这是有道理的,因为浮点不是大数字的问题)。我尝试小到 2.470329e-324,但由于浮点错误,它被表示为 4.940656e-324,这可能是最小值设置在它所在位置的原因。对于非常大的数字,如果需要,可以使用
gmp之类的软件包,让您超越 R 的界限。
标签: r data-representation