我正在用 C++ 编写一个程序,我想在其中找到我的电脑的 epsilon。我希望结果是双精度(即 2.2204460492503131 E-16),但输出是 1.0842 E-019,它是长双精度的 epsilon。
我的程序是这样的:
#include <iostream>
double e = 1.0;
double x;
int main ()
{
for (int i = 0; e + 1.0!=1.0 ; i++)
{
std::cout<<e<<'\n';
x = e;
e/=2.0;
}
std::cout << "The epsilon of this Computer is "<< x <<'\n';
return 0;
}