最大可能的準確度我們知道,點X1和X2各點Y1和Y2,所以我們可以計算Y表示任何X:保留在浮動插值
X - X1 Y - Y1
------- = -------
X2 - X1 Y2 - Y1
我們可以得到一個簡單的公式(A)出的是:
Y = (X - X1) * (Y2 - Y1)/(X2 - X1) + Y1;
這應該是數學上等效(B):
Y = (X - X1)/(X2 - X1) * (Y2 - Y1) + Y1;
對於整數數學形式只要乘積(X - X1) * (Y2 - Y1)
結果與類型的範圍保持一致,則ula A表現更好。公式B將不起作用,因爲如果X1 <= X <= X2
,那麼除法總是等於0
。
對於浮點這兩個都應該工作,但我認爲B會提供更好的精度,因爲乘法結果將保持較小。
我對浮點精度的假設是否正確?
有沒有我不考慮的浮點偏差?
假設IEEE 754浮點表示法。注意1:我對浮點型情況感興趣,整型數學非常直截了當。
注2:FP公式中的變量可能有非整數值,但NaN和Infs不在問題範圍內。
請註明:您對具有浮點值或僅具有整數值的點感興趣嗎? – chux