|
|
1
2
既然你说你的问题没有实际应用,我想你是想学习浮点数表示法。 因此,如果你不使用 任何 库支持,从 format specification . 从中可以识别各种“特殊”值(无穷大、NaN等)以及解码/计算实际数值。一旦你有了有效位和指数,你就知道把小数点放在哪里了。你得自己写 itoa 键入例程。对于二次幂的半径,这可以像查找表一样简单。对于十进制,你需要做一些额外的计算。 |
|
|
2
0
您可以将左侧的所有值乘以(双%10),然后每次除以10。 他们将从右到左。 若要获取点右侧的值,必须乘以10,然后(加倍%10)。他们将从左到右。 |
|
|
3
0
如果你只想得到一个“足够接近”的结果,请看我的文章 http://www.exploringbinary.com/quick-and-dirty-floating-point-to-decimal-conversion/ . 它描述了一个使用浮点将浮点转换为十进制的简单程序,并解释了为什么这种方法永远不可能对所有转换都准确。(程序不像printf那样进行小数舍入,但这应该很容易添加。) |
|
|
Justin · 如何在Java中以全精度格式化double? 8 年前 |
|
|
Pernoctador · 两个给定数字之间的双精度密度 8 年前 |
|
|
INs · MySQL保存浮点错误 8 年前 |
|
|
Philip.W · 在C中格式化类似xxxxE+xx的双精度 8 年前 |