gpt4 book ai didi

c# - 我在哪里可以找到 C# 中的机器 epsilon?

转载 作者:可可西里 更新时间:2023-11-01 07:46:09 26 4
gpt4 key购买 nike

机器 epsilon 被规范地定义为与 1 相加得到的结果不同于 1 的最小数字。

有一个 Double.Epsilon 但这个名字很容易误导:它是最小的(非规范化)Double 可表示值,因此对任何类型的数字编程都无用.

我想为 Double 类型获取 true epsilon,这样就不必将公差硬编码到我的程序中。我该怎么做?

最佳答案

它(在我的机器上):

   1.11022302462516E-16

你可以很容易地计算出它:

        double machEps = 1.0d;

do {
machEps /= 2.0d;
}
while ((double)(1.0 + machEps) != 1.0);

Console.WriteLine( "Calculated machine epsilon: " + machEps );

编辑:

我计算了 2 次 epsilon,现在应该是正确的。

关于c# - 我在哪里可以找到 C# 中的机器 epsilon?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9392869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com