我正在寫一個程序在C++中,我想找到我的電腦的epsilon。 我想要的結果是雙精度(這是2.2204460492503131E-16),但輸出是1.0842E-019,這是長雙精度的ε。返回長雙而不是雙重
我的計劃是這樣的:
#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;
}