2014-07-14 115 views
0

我有一些浮點數(我不知道float是雙精度還是長精度double),我想將它轉換爲分數。我看看frexp函數,並獲得浮點型(FPT)數的尾數和指數。我看看struct numbers_limits<float, double or long double>,我得到這個字段:radix(2),digits(據我所知,它在基地基數),digits10,max_digits10。我認爲轉換我必須使用max_digits10,但我不確定,不幸的是,我已知的英語不讓我明白我必須使用哪個字段來進行最準確的轉換。據我所知,尾數總是有限的位總和,但在十進制的基礎上,它是無限的小數部分。 無論如何十進制數中有多少位尾數的表示我必須使用從FPT到分數的最準確的轉換?將浮點類型轉換爲分數

或者,也許我必須在尾數找到一個時期,並將其轉換爲小數作爲一個週期性的十進制數?

回答

0

您沒有得到答案,因爲您在這裏以錯誤的方式行事。大概你試圖找到一個理性的代表性10,但漂浮不存儲基地10.所以忘記尾數和指數的事情。這裏有一個link來回答你的問題。祝你好運!