数据类型浮点的精度IEEE 754单精度

问题描述

我在Wikipedia页面上找到了IEEE 754的图表,该图表显示了浮点精度与实际浮点值(https://en.wikipedia.org/wiki/IEEE_754#Formats)之间的关系:

enter image description here

解释此图是否正确,以使较小的值通常比较大的值“更准确”?

在我的具体情况下,我有一个应用程序可以计算流入浮子式累加器/累加器的质量流量(0-90克/秒)。我认为,相对于精度图,我首先提到,对累加器本身使用“更大的单位”会更好,这样实际的浮点值始终处于较低的范围:在我的情况下,这意味着使用吨而不是以克为单位。

考虑正确还是使用克数或吨数的浮点累加器没有好处?

解决方法

该图的正确解释是精度与幅度有关。

假设您的电话号码大约为100(因为您以克为单位)。这意味着您的精度约为1e-5克(大约是一小粒沙的质量。)

现在,假设您改为以“太阳质量”为单位进行测量。现在您的数量是5e-32太阳质量。现在相对精度约为5e-37太阳质量。那大约是一小粒沙的质量。

所以,没有好处。浮点数的要点是使您不必担心幅度。

如果您担心累加多个数字的整体准确性,请使用Kahan summation