Floating point 将十进制转换为IEEE-754格式

Floating point 将十进制转换为IEEE-754格式,floating-point,Floating Point,我试图将30.125转换成10位浮点数。1个符号位,5个指数位,偏差为15,4个Mantisa位。我提出了以下IEEE-754格式的解决方案,这是正确的 S E Mantissa 0 10011 1110 然后问题的一部分询问上面的浮点数代表什么样的十进制值,正确答案是30。他们是怎么得到30的呢?有一个隐式的1,所以如果指数为零(由于偏差为15),那么 尾数是1.xxxx,所以这里是1.111-记住这个点是一个二进制点。然而,指数是19。去掉15的偏差,它就是

我试图将30.125转换成10位浮点数。1个符号位,5个指数位,偏差为15,4个Mantisa位。我提出了以下IEEE-754格式的解决方案,这是正确的

S    E        Mantissa
0    10011    1110

然后问题的一部分询问上面的浮点数代表什么样的十进制值,正确答案是30。他们是怎么得到30的呢?

有一个隐式的1,所以如果指数为零(由于偏差为15),那么 尾数是1.xxxx,所以这里是1.111-记住这个点是一个二进制点。然而,指数是19。去掉15的偏差,它就是4


所以二进制数是11110-将二进制点右移4位。2+4+8+16=30。

感谢您的解释,您能解释一下如果我们想存储额外的0.125,指数和尾数中需要多少位吗?@blor Decimal 30.125是二进制11110.001,8个有效位。您需要存储其中的7个,因此需要7位有效位。指数不变。@PatriciaShanahan谢谢,但正确答案是8位而不是7位。