浮點累加:精確度與順序
累積浮點數時,它們相加的順序可能有很大影響影響結果的精確度。
提高精確度的升序
你的直覺是正確的。按升序添加數字通常可以提高精度。考慮單精確度浮點數的場景:
如果先加1,由於精度損失,且變成1。添加其他值沒有影響。
如果先加小值,它們會有所積累,但在某個點之後,它們也會失去精度。
負值和不準確
但是,如果涉及負數,升序可能會不夠。考慮以下數值:十億分之一、-1、1。
只有兩個訂單產生正確的結果(十億分之一):十億分之一、-1、1 或十億分之一-1、1、1。其餘訂單的結果不準確。
進階累積技巧
極端情況下,需要更進階的技巧:
與現實世界程式設計的相關性
雖然這個問題可能看起來不直接相關對於實際程式設計來說,它可能會在特定場景中出現:
以上是浮點加法的順序對於精確累加有影響嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!