提问人:user9564464 提问时间:11/6/2020 更新时间:11/6/2020 访问量:638
数据类型浮点数的精度(IEEE 754 单精度)
Accuracy of data type float (IEEE 754 Single-precision)
问:
我在 IEEE 754 的维基百科页面上找到了一张图表,显示了浮点精度与实际浮点值 (https://en.wikipedia.org/wiki/IEEE_754#Formats) 之间的关系:
将此图解释为较小的值通常比较大的值“更准确”是否正确?
在我的具体案例中,我有一个应用程序,可以计算进入浮子蓄能器/累加器的质量流量(在 0-90 克/秒的范围内)。我认为,就我首先提到的精度图而言,最好为累加器本身使用“更大的单位”,以便实际浮点值始终处于较低的范围内:这意味着在我的情况下,累加器单位使用吨而不是克。
这种考虑是否正确,或者使用以克或吨为单位的浮点累加器没有好处?
答:
3赞
Sneftel
11/6/2020
#1
对该图的正确解释是精度与大小有关。
假设您的数字约为 100(因为您以克为单位)。这意味着您的精度约为 1e-5 克(这大约是一小粒沙子的质量。
现在假设你以太阳质量为单位进行测量。现在你的数字是 5e-32 太阳质量。相对精度现在约为5e-37太阳质量。这大约是一小粒沙子的质量。
所以不,没有好处。浮点数的意义在于让您不必担心大小。
如果您担心对许多数字求和的整体准确性,请使用 Kahan 求和。
评论
0赞
user9564464
11/6/2020
你的话很有道理,非常感谢你的解释!我想我的问题是我假设,精度不是恒定的,而是在范围内变化的,但由于图表只显示两条直线,这种考虑是错误的......
评论