我认为是 GCC 编译的标准 C 代码中的一个微不足道的添加让我有些困惑。
如果我有一个称为 A 的双精度数,还有一个称为 B 的双精度数,并且 A = 一个非常小的指数,例如 1e-20,而 B 是一个较大的值,例如 1e-5 - 为什么我的双精度 C 等于 A+B 的总和在主导值 B 上?我希望当我指定打印到小数点后 25 位时,我会得到 1.00000000000000100000e-5。
相反,我得到的只是 1.00000000000000000000e-5。我必须使用 long double 还是其他东西?
非常困惑,我敢肯定,这是一个对大多数人来说很容易回答的问题!感谢您提前提供任何指导。