考虑一个32位浮点数(IEEE 754),尾数为0-22(23位),指数为23-30(8位),符号为31(1位)我想找出可以存储的最小正数 .我被告知答案是1.18 * 10-38,大约是2-126我的分析如下如果我们将所有零都放在尾数中并将所有的都放在指数中,那么十进制等值就是1.0 x 2-128 = 2.93 x 10-39
我哪里错了?谢谢
如果你把所有的都放在指数中你将得到 NaN 如果尾数是非零或无穷大,如果尾数是0. Wikipedia IEEE 754 . 当指数二进制等于0时,您的最小值也在Denormal numbers空间内 .
NaN
虽然8位指数意味着-127到128但是两种情况保留用于特殊值(参见here),所以最负的指数是-126 .
顺便说一下,在 Two's Complement 系统中不可能将-128存储在8位中,这是 IEEE 754 指数中使用的基本系统 .
Two's Complement
IEEE 754
2 回答
如果你把所有的都放在指数中你将得到
NaN
如果尾数是非零或无穷大,如果尾数是0. Wikipedia IEEE 754 . 当指数二进制等于0时,您的最小值也在Denormal numbers空间内 .虽然8位指数意味着-127到128但是两种情况保留用于特殊值(参见here),所以最负的指数是-126 .
顺便说一下,在
Two's Complement
系统中不可能将-128存储在8位中,这是IEEE 754
指数中使用的基本系统 .