是否有可能在二進制浮點表示以表示例如,7x20.25?如果是,問題是它是否符合標準?是否有可能在浮點二進制數中有一個浮點指數?
回答
創建包含浮點指數的浮點數的可能性的理論答案是是的,它可以被創建 - 數字如何表示是一個約定變成標準的問題。沒有人會阻止創建自己的約定。它甚至在理論上可以創建浮點數的浮點尾數與浮點指數與浮點基數(對術語的解釋見下文)。
變本加厲,甚至可以推測約浮動用於連續有效數,指數和十進制基數點數的多個級別。現在的問題是,它是否會實際使用 - 我想這對於某些應用是的,這可能是擴大範圍,同時保持浮點數的精度有限,一個有趣的選擇。這將是其中有效數和指數仍然是一個積分但精度和可表示的實數的範圍是通過使用大的整數擴展解決這樣的問題,以在開源GNU MPFR Library使用的一個的方向相反。
如果這個數字必須被大多數浮點實現所接受,那麼這意味着它應該符合標準,比的答案不是。
根據IEEE-754 2008標準浮點運算:
該組有限的浮點數的由以下整數的參數確定的特定格式內所能表述:
- B =所述基數,2或10
- p =數字的有效數的數目(精度)
- EMAX =最大指數e
- emin =最小指數e
emin對所有格式都是1 - emax。
正如開頭說什麼防止任何人創建它自己的浮點表示由整數有效數和浮點指數 - 即使有效位數和基數可以是自定義的。但是這種實現需要爲其浮點數算術提供支持。因此,如果問題是有可能設計出這樣一個數字比答案是肯定的如果問題是它是否實用答案是肯定再次。有關詳細信息,請參閱GNU MPFR庫實現。
當前的浮點格式被設計爲精確地存儲有理數的子集,特別是具有終止二進制分數表示的特定數字。 2^0.25
是兩個第四個根,是一個無理數,也就是將它乘以任何有理數的結果,包括7x2ˆ0.25
您可以非常接近它作爲具有整數指數的傳統浮點數。例如,在Java 7*Math.pow(2,0.25)
中。
浮點數一般用作近似值,所以對大多數情況來說這是一個可接受的解決方案。你有一個應用程序,這不會是一個解決方案?
您還會問是否符合標準。它肯定不符合IEEE 754.你還沒有說明任何好處,並且考慮到它的複雜性,將它帶入標準將會帶來很大的好處。
- 1. 是否有可能以保真度將浮點雙精度浮點雙精度到兩個十進制整數?
- 2. 「複數浮點」和「浮點複數」是否都有效C?
- 3. 將二進制浮點數轉換爲十六進制浮點數
- 4. 十進制浮點數
- 5. 十六進制浮點數
- 6. 在浮點數中存儲浮點數?
- 7. 確定一個浮點數是否有小數部分?
- 8. 將小數位數多的浮點數轉換爲浮點數只有一個小數位的浮點數
- 9. 浮點指數差
- 10. 用十進制數表示的二進制浮點數
- 11. 將最小可能浮點數添加到浮點數
- 12. 查找一個浮點數是否是.NET中另一個浮點數的倍數
- 13. 如何在Python中使用32位浮點數,64位浮點數和另一個32位浮點數讀取二進制文件
- 14. 是否有可能在Python中使用KMeans中的非浮點數據(Scikit-Learn)?
- 15. 將十進制浮點數轉換爲二進制並返回
- 16. 將十進制浮點數轉換爲二進制
- 17. 在python中打包和解壓縮二進制浮點數
- 18. 如何在PHP中獲取浮點數的二進制表示?
- 19. 硬浮點數和軟浮點數之間有什麼區別?
- 20. 如何將一個浮點數乘以十進制數並得到一個浮點數
- 21. 聲明浮點數或浮點數嗎?
- 22. 爭奪一個浮點數?
- 23. 用一個浮點數
- 24. 是否有可能有一個無限精度浮點數據類型,在visual basic,java或C++中?
- 25. 是否可以打印一個雙精度浮點數
- 26. 以二進制表示浮點數和整數
- 27. 兩個浮點數
- 28. 是否有一個很好的基數實現浮點數在C#
- 29. 將Windows'二進制'浮點數讀取到ASP jscript變量中
- 30. 不正確指數(?)從十進制表示轉換浮子32位二進制(IEEE 754浮點)時