【发布时间】:2017-09-26 11:17:36
【问题描述】:
我正在使用双精度解一个方程,我得到了-7.07649e-17 作为解而不是0。
我同意它足够接近,我可以说它相等,但 I've read that the machine epsilon for the C++ double type is 2^-52 大于我得到的值。
那么为什么我的值比机器 epsilon 差? 为什么值不四舍五入为零?
这没什么大不了的,但是当我进行逻辑测试时,我的值似乎不为零......
【问题讨论】:
-
为什么不能包含那个值?
-
@immibis 是的,我应该先问自己这个问题......我认为机器 epsilon 是最小的可计算数,但 Dialecticus 告诉我它不是。我也应该读过:en.wikipedia.org/wiki/Double-precision_floating-point_format ...