![]() |
1
3
你的困惑似乎是没有根据的。小数点的右边是 总是 以基数的逆幂表示,左侧为 总是 表示为基数的幂。对于底座10和底座2也是如此。二进制浮点数存储一个指数,该指数控制小数点在尾数上的位置。 至于它们存在的原因:二进制浮点表示法有两个方便的财产:
这些财产使它们非常适合进行物理计算,因为最后一个地方的小错误并不重要,但会使它们无法用于货币应用程序(在您想要的地方
|
![]() |
2
0
FP格式将最大数量的 精确 转换为一个“单词”或两个“单词“对象,同时添加一个指数,以便进行科学计算 1. 可以以相同的精度进行涉及大值或小值的处理。因为对象适合单词,所以它们可以放入寄存器,并且它们在CPU硬件和GPU单元中都受支持,所以它们确实是 真正地 快速的 2. 十进制格式更慢、更大,硬件几乎从不支持它们,但它们也不需要复杂的二次计算,所以这无关紧要。我们可以很容易地在软件中数豆子。十进制字符串的一个优点是,我们在现实生活中写的数字(0.10、0.11、0.12…)可以精确地表示,这对会计很有帮助。(奇怪的是,由于我们使用了基数为10的IRL,我们在商业中写的几乎所有数字实际上都不能用基数为2表示,如果它们有一个分数的话。) 任意一种格式 可以 可以用于相反的应用程序,有足够的笨拙和仔细的编程,但这并没有多大意义。
1.事实证明,即使精度有限,也没有已知的物理常数能达到
双重的
数据类型。所以,它们确实是这些类型的计算所需要的。
|
![]() |
Justin · 如何在Java中以全精度格式化double? 7 年前 |
![]() |
Pernoctador · 两个给定数字之间的双精度密度 7 年前 |
![]() |
INs · MySQL保存浮点错误 7 年前 |
|
Philip.W · 在C中格式化类似xxxxE+xx的双精度 7 年前 |