0

我正在查看一个 c++ 任务,该任务读取包含十进制数字的文件并将每个数字作为单个 4-byte 存储在数据结构中float。在更改过程(使用double)之前,我想知道文件中的数字与结构中存储的数字之间的平均误差是多少。

例如,如果文件读取19.5并且数据结构是,19.49999999那么错误是

abs(19.49999999 / 19.5 - 1) = 5.128205128205128e-8 %

如果分布很重要,文件中的大多数数字都是正数且小于 1000。

4

1 回答 1

4

32 位浮点数有 23 位尾数,这意味着精确到大约 7-8 个十进制数字的表示。准确地说,相对误差是2^-24,或大约6e-8

于 2013-10-28T20:14:28.247 回答