2012-03-10 104 views
3

它有更多的值,64位整數或64位浮點數?64位整數與64位浮點數:哪一個具有更多值?

我的答案是,浮動具有更多的價值,因爲它更準確。

但是不是整數總是大於一個浮點數?

+0

的章節請見http://en.wikipedia.org/wiki/IEEE_754-1985 ..尾數,指數花車「相對精度」 – 2012-03-10 02:50:24

+1

難道這是功課? – SingleNegationElimination 2012-03-10 02:52:22

+4

如果您將一個值作爲每個單獨的位配置進行計數,則它們具有完全相同的值數。也就是說,它們每個可以保持相同數量的比特狀態。 – 2012-03-10 02:53:58

回答

7

還有更多的唯一值爲64位整數(2^64爲2的補碼機)。

但是,一個64位浮點數有的範圍遠大於的值。

由於64位整數對於每個唯一值(它是「100%效率」)具有唯一的位模式,而64位浮點具有專用符號位(允許對於-0,但是-0 == 0 is true)以及一些「特殊模式」(例如NaN,其具有multiple representations),從而減少浮點數可以表示的唯一值的總數。

IEEE-754 article on Wikipedia,看到了Representation of non-numbers

+2

我喜歡你強調「更大的範圍」以迴應他含糊不清的「更多價值」 – jdi 2012-03-10 02:58:44

+0

@quark它看起來像你正在比較4位到8位(其中是3位?二進制數字或位佔位符)。無論如何,我的答案與基於尾數指數的浮點數有關。 [BCD或「打包」小數的變體](http://en.wikipedia.org/wiki/Binary-coded_decimal),因爲它看起來像在最後的評論中所示,是不同的。由於2的補碼整數是「100%效率」,所以需要顯示它的唯一值可以包含比替代編碼更多的*唯一值*以顯示替代方式在某些方面效率較低;-) – 2012-03-10 03:13:48

+0

@quark浮點數不這樣工作。我建議你閱讀這篇文章中鏈接的文章。 – 2012-03-10 03:13:52