2012-03-10 118 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

相关问题