Suppose we have a 7-bit computer that uses IEEE floating-point arithmetic where a
floating point number has 1 sign bit, 3 exponent bits, and 3 fraction bits. All of the bits in
the hardware work properly.
Recall that denormalized numbers will have an exponent of 000, and the bias for a 3-bit
exponent is 3.
要转换的数字是-0.125
这是我的尝试
转换为二进制形式
0.001
移动小数
0001.0
所以E = -3,因为我们将小数右移3次
E = e -bias
-3 = e -3
所以 e = 0 而且M = 0? 这给了我
1 000 000
这是错误的。正确答案应为1 000 100
。
我做错了什么?
答案 0 :(得分:3)
偏差为3,因此1.0
的指数存储为3.因此要获得1/8,您希望存储零,但这是非正规数的表示。非正规数必须明确存储前导位,因此尾数变为100
而不是000
。需要存储1
导致精度下降,这是非规范化的症状。