2014-10-31 50 views
4

我剛剛讀了this topic(特別是最後的評論)。爲什麼我們需要IEEE 754剩餘?

然後我想知道,爲什麼我們真的需要這個是給餘數。但似乎沒有多少人對谷歌產品感興趣...

+0

@MarkDickinson這是什麼意思?你可以添加一個完整的答案嗎? – 2014-11-05 06:30:38

回答

3

如果你正在尋找你想要它的原因,一個是所謂的「範圍縮小」

假設您想用sind函數來計算參數的正弦值(度)。一個天真的方式做這將是

sind(x) = sin(x*pi/180) 

然而pi這裏不是真正的無理數pi,而是浮點最接近pi號。這導致諸如sind(180) == 1.2246467991473532e-16之類的東西,以及諸如thisthis之類的SO問題(以及許多,更多)。

但正弦周期函數,因此,如果我們計算

remainder(x,90.0) 

我們在區間得到的值[-45,45]。請注意,0,90,180,270等等正好爲0,並乘以pi/180仍然爲0.因此,採取適當簽名的sincos,我們可以得到這些值的確切結果(如果您做了一些基本的錯誤分析,你可以證明它也減少了其他值的誤差)。

兩個跟進點:

  1. 你如何確定使用哪個sincos?那麼這就是remquo
  2. 不幸的是,由於中間舍入的變幻莫測,這仍然不會給sind(30.0) == 0.5。有辦法解決這個問題,例如看什麼Julia library does
+0

所以大致總結一下:它在數學中用於在非理性數字上得到更正確的結果,對吧? 感謝您的解釋。我覺得我對此並不深入去理解它。還有一些事情要學習。 – TheTrowser 2014-12-17 22:58:57