1

雖然學習浮點算術的精度和避免它的不同方法(使用共軛,泰勒級數......)書籍經常提到減去兩個非常相似的數字或者一個大的和一個小的數字作爲錯誤的最大原因。爲什麼只有減法導致這個而不是加法?正如我所看到的那樣,在轉移時你仍然會失去許多重要的位。加法與減法的浮點重要性損失

回答

1

當減去兩個幾乎相等的數字時,差異將會有比原始數字更少的有效位。十進制的例子是:

1.23456789 9 significant digits 
-1.23456785 9 significant digits 
─────────── 
      4 1 significant digit 
1

有加法或減法之間沒有區別,減法是除與所述否定操作數。你是正確的,爲了增加或減少,你必須將指數較小的數字移入位桶中,以便執行操作,從而導致該操作數的較少有效位。如果指數與尾數大小不同,那麼加法或減法就會得到指數較大的數字作爲結果,較小數字的所有位已移入位桶N + 0 = N-0。