C ++中的精度错误

时间:2016-05-31 19:02:38

标签: c++ double precision

我正在创建一个程序,它执行大量非常具体的计算,目前面临以下情况:

我有一个数字: 1758.45 ,这是大型计算的初始输入。计算输出后,我收到一个错误的数字。我注意到计算结果略有偏差(0.000000000000000000001而不是0.000000000000000000002),最终我将错误计算追溯到上面的数字( 1758.45 )。

现在我遇到的问题是,当我打印上述数字时,我得到:enter image description here

而数字应该只有1758.45。

我把它初始化为: double x = 1758.45;

我将通过以下方式打印出来:

#include <iostream>
std::cout.precision(75);
std::cout << (x) << std::endl;

这些数字是我算错的原因吗?或者只是我打印数字的问题( x 并没有真正存储其他值)?

0 个答案:

没有答案