如何将浮点文字转换为指数和尾数?

时间:2019-02-14 19:44:27

标签: floating-point

让我们假设我有一个包含浮点数的字符串(例如:“ 3.14159265358979”),并且我想将其转换为浮点数。 我将如何计算指数和尾数以获得相应的浮点表示形式?

我如何找到要转换的数字的合适指数?如何计算代表浮点数的尾数?

PS:我想为任意精度浮点计算编写一些代码。

1 个答案:

答案 0 :(得分:1)

首先,记住符号(+或-),然后将数字更改为其绝对值。

将有效位数归一化为[1,2)并计算指数:

  • 如果数字大于2,则将其除以2,直到它位于[1,2)中。 (这是从1到2的间隔,其中包括1,但不包括2。)您除以的次数就是指数。

  • 如果数字小于1,则将其乘以2,直到它位于[1,2)中。指数将是您乘以的次数的负数。

  • 如果数字已经在[1,2)中,则指数为零。将最后得到的[1,2)中的数字转换为二进制。

然后将数字四舍五入以适合浮点格式的有效位数:

  • 将数字四舍五入到有效位数允许的位数。如果将数字增加到2,则将其除以2,然后将指数加1。

现在您有了符号,指数和有效位数。