我有一个关于浮点精度的问题。据我了解,ULP是给定规格中两个连续的离散有限数之间的距离。或名称中最不重要的位置。无论如何,我在Java规范中的java.lang.Math中看到了这一点:
“计算结果必须在准确结果的2.5 ulps之内。”
我不明白您怎么会遇到不是整数的ULP错误。如果您偏离了2.5个ULP,这是否意味着存在比不重要的地方低的地方?误差为2.5 ULP是什么意思?
最佳答案
考虑计算3/2。准确的结果是1.5。在整数算术中,结果为1。这是0.5的误差,即ULP的一半。
类似的推理可以应用于浮点运算。