2013-05-10 77 views
1

今天晚些时候我有一个操作系统决赛,我正在看我过去的考试。反正长话短说我错了,这不是硬件问题,我只是不确定如何去做。十进制到二进制使用符号,指数,大小

“假设我们使用32个位来表示的实数,用1位的数量,7位为指数,和所述大小24位的符号。显示中的位模式的数目0.5”

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

0.5 * 2 = 1.0

0 * 2 = X

答案1

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

回答

2

所述指数和一个隐含的尾数前导1假设的63 a bias,我会断定下面的位模式:

0 0111110 000000000000000000000000(== 0x3E000000

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

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

== == +1 * 0.5+0.5

reference

+0

我无法理解你解释什么,你可以去更多的细节/解释? – user2369869 2013-05-10 12:14:32

+0

你没有完全指定编码(就像指数有偏差,是否保留了一些指数值),所以我做了一些假设。我在我的答案中添加了一些链接,可能会对您有所帮助。使用仅为零的尾数给出'1 * power(2,指数偏置)'的值,所以为了得到'power(2,指数偏置)== 0.5',我们希望'exponent-bias'等于' - 1'。假设63的偏差给了我们'指数== 62'。 – Michael 2013-05-10 12:23:01