Floating point IEEE 754浮点表示法

Floating point IEEE 754浮点表示法,floating-point,computer-science,ieee-754,number-formatting,arithmetic-expressions,Floating Point,Computer Science,Ieee 754,Number Formatting,Arithmetic Expressions,如何将十进制转换为IEEE 745浮点单精度? 我可以处理小数字,如0.5、0.75等 我的问题是,我不知道如何处理较小的数字。 比如说, 12.1325*10^-13我假设困难在于二进制转换,而不是IEEE浮点编码,因为你说你知道如何转换0.5和0.75。对于不太简单的示例,如12.1325*10-13,我将使用我的。对于70个位置,0.0000000000121325为 0.00000000000000000000000000000000010101001111111100000001111

如何将十进制转换为IEEE 745浮点单精度? 我可以处理小数字,如0.5、0.75等 我的问题是,我不知道如何处理较小的数字。 比如说,


12.1325*10^-13

我假设困难在于二进制转换,而不是IEEE浮点编码,因为你说你知道如何转换0.5和0.75。对于不太简单的示例,如12.1325*10-13,我将使用我的。对于70个位置,0.0000000000121325为

0.00000000000000000000000000000000010101001111111100000001111

手动四舍五入到24个有效位,即 0.0000000000000000000000000000000000101010101111111111

从这里开始,将其编码为浮点

另一种方法是分析你需要一个好的任意精度计算器的帮助,比如。首先将12.1325*10-13改写为121325/1017,并尝试找到具有24位分子和两个分母幂的最接近数字:

121325/1017=x/2n

x=2n*121325/1017

你会发现n=63给出了你想要的:x=11190256.123714056749056=11190256,当四舍五入到最接近的整数时。二进制格式的11190256=1010101010111111110000,您将看到它与上面的答案相匹配。当你规范化浮点时,你将从指数中减去23,得到:1.0101010101111111111*2-40


关于后一种方法,请参阅我的文章。

您的问题是什么?你对simaller数字有什么问题?