让我们假设我有一个包含浮点数的字符串(例如:“ 3.14159265358979”),并且我想将其转换为浮点数。 我将如何计算指数和尾数以获得相应的浮点表示形式?
我如何找到要转换的数字的合适指数?如何计算代表浮点数的尾数?
PS:我想为任意精度浮点计算编写一些代码。
答案 0 :(得分:1)
首先,记住符号(+或-),然后将数字更改为其绝对值。
将有效位数归一化为[1,2)并计算指数:
如果数字大于2,则将其除以2,直到它位于[1,2)中。 (这是从1到2的间隔,其中包括1,但不包括2。)您除以的次数就是指数。
如果数字小于1,则将其乘以2,直到它位于[1,2)中。指数将是您乘以的次数的负数。
如果数字已经在[1,2)中,则指数为零。将最后得到的[1,2)中的数字转换为二进制。
然后将数字四舍五入以适合浮点格式的有效位数:
现在您有了符号,指数和有效位数。