我已經創建了我自己的固定類型整數類型,並且該庫可以在很多編譯器和平臺上正常工作,唯一需要解決的問題是從內置浮點類型到我的類型。從浮點轉換爲自定義數值類型
的浮點類型可能有小尾數但隨着指數沿着它可能有很大的價值,如果我選擇投float
,double
,或long double
說long long
或unsigned long long
可能發生截斷。
如果編譯器使用IEEE-754規範,可以很容易地提取尾數和指數,但是如果編譯器使用其他格式會怎麼樣。
所以,我的問題:是否有任何通用算法,允許我只使用語言特徵從浮點中提取完整值?
感謝
通過使用'std :: numeric_limits'成員可以很好地瞭解當前平臺上FP類型的特性;從那裏你可以確定尾數和尾數的大小,從而確定你必須乘以數字來得到整個尾數時,拋出一個整數(也,你知道是否有可用的任何整數足夠大爲此工作)。 –
2013-02-24 23:08:46
查看['frexp'](http://en.cppreference.com/w/cpp/numeric/math/frexp)函數系列。 – 2013-02-24 23:32:12