![]() |
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那样进行小数舍入,但这应该很容易添加。) |
![]() |
AstralHex · 矩阵乘法代码工作不正常 4 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 4 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 4 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 4 月前 |