2017-10-21 137 views

回答

1

創建包含浮點指數的浮點數的可能性的理論答案是是的,它可以被創建 - 數字如何表示是一個約定變成標準的問題。沒有人會阻止創建自己的約定。它甚至在理論上可以創建浮點數的浮點尾數與浮點指數與浮點基數(對術語的解釋見下文)。

變本加厲,甚至可以推測約浮動用於連續有效數,指數和十進制基數點數的多個級別。現在的問題是,它是否會實際使用 - 我想這對於某些應用是的,這可能是擴大範圍,同時保持浮點數的精度有限,一個有趣的選擇。這將是其中有效數和指數仍然是一個積分但精度和可表示的實數的範圍是通過使用大的整數擴展解決這樣的問題,以在開源GNU MPFR Library使用的一個的方向相反。

如果這個數字必須被大多數浮點實現所接受,那麼這意味着它應該符合標準,比的答案不是

根據IEEE-754 2008標準浮點運算:

該組有限的浮點數的由以下整數的參數確定的特定格式內所能表述:

- B =所述基數,2或10

- p =數字的有效數的數目(精度)

- EMAX =最大指數e

- emin =最小指數e

emin對所有格式都是1 - emax。

正如開頭說什麼防止任何人創建它自己的浮點表示由整數有效數和浮點指數 - 即使有效位數和基數可以是自定義的。但是這種實現需要爲其浮點數算術提供支持。因此,如果問題是有可能設計出這樣一個數字比答案是肯定的如果問題是它是否實用答案是肯定再次。有關詳細信息,請參閱GNU MPFR庫實現。

1

當前的浮點格式被設計爲精確地存儲有理數的子集,特別是具有終止二進制分數表示的特定數字。 2^0.25是兩個第四個根,是一個無理數,也就是將它乘以任何有理數的結果,包括7x2ˆ0.25

您可以非常接近它作爲具有整數指數的傳統浮點數。例如,在Java 7*Math.pow(2,0.25)中。

浮點數一般用作近似值,所以對大多數情況來說這是一個可接受的解決方案。你有一個應用程序,這不會是一個解決方案?

您還會問是否符合標準。它肯定不符合IEEE 754.你還沒有說明任何好處,並且考慮到它的複雜性,將它帶入標準將會帶來很大的好處。

相關問題