假设我们已经归一化了浮点数,其指数范围为[-3,3],精度为4位。下面你会看到4个十进制数字和相应的二进制表示。如何将这些十进制数转换为二进制数?我知道如何从二进制到十进制,但反之亦然。
%3A
答案 0 :(得分:1)
从尾数和指数的定义中删除。指数是最容易的部分。尾数只不过是两个负幂的总和:1 +½+¼+⅛...,其中一些乘以一,有些 - 为零。
要确定指数的值,找到2的最大幂,当被分割(乘以[0,1)中的数字时),得到范围[1,2]中的值。
对于0.11,它是-4(不是-3,如你所述),为0.11 *2⁴= 1.76。 对于3.1416,它是+1,因为3.1416 /2¹= 1.5708
然后你会在范围[1,2]中有一个数字m
来转换为二进制分数。从r
=“1开始结果,然后从m
中减去1并将其乘以2。
如果结果不止一个,请将“1”写入r
的末尾并从m
中减去1,否则将“0”写入r
的末尾。继续乘以2并可选地从m
中减去1,同时将“0”和“1”写入r
,具体取决于您是否必须减1。当尾数中有足够的数字时停止。
我想你可以自己弄清楚如何进行所需的舍入模式。