我知道这可能是一个常见的问题,但我从来没有找到过答案(也许这与不知道如何正确搜索谷歌有关,所以如果有人能帮我找到一个参考,我会删除这个问题)。
为什么双倍在用2的逆幂表示小数的右边,用2的幂表示小数的左边?我知道它可以代表很大的数字,但还有其他的好处吗?.NET框架有可用的decimal数据结构,使用起来似乎更符合逻辑,因为这是我们用人工符号表示数字的方式。
真的,我的问题是为什么双数是以原来的方式创建的,而不是最初创建类似十进制的东西(这似乎不太常见)。
发布于 2013-09-03 15:42:57
你的困惑似乎毫无根据。小数点的右边总是用基的逆幂表示,左边总是表示为基的幂。基数10和基数2也是如此。二进制浮点数存储一个指数,该指数控制小数点在尾数上的位置。
至于它们存在的原因:二进制浮点表示法有两个方便的属性:
这些属性使它们非常适合例如物理计算,因为最后一个地方的小错误并不重要,但使它们无法用于货币应用程序(您需要decimal,尽管计算速度要慢得多)。
https://stackoverflow.com/questions/18596305
复制相似问题