使用符号,指数,幅度的十进制到二进制

时间:2013-05-10 11:42:02

标签: assembly binary operating-system

我今天晚些时候有一个操作系统决赛,我正在查看过去的考试。无论如何长话短说我弄错了,这不是硬件问题,我只是不确定该怎么做。

“假设我们使用32位来表示实数,1位表示数字符号,7位表示指数,24位表示数字。显示数字位数为0.5”

我在考试中做的方法是将数字乘以2,保留小数点前的第一个数字,如果余数不是0,则用余数重复该过程,否则我们就完成了。

0.5 * 2 = 1.0

0 * 2 = x

回答1

但这不正确,任何人都可以帮助我完成这个过程吗?谢谢。

1 个答案:

答案 0 :(得分:2)

假设指数上的a bias为63,尾数上隐含前导1,我将得出以下位模式:

0 0111110 000000000000000000000000(== 0x3E000000

+(1 + 0) * power(2, 62-63)

== +1 * power(2, -1)

== +1 * 0.5 == +0.5

reference