该程序执行后,十进制数0.75用单精度浮点数来表示就变成了0-01111110-10000000000000000000000(图3-7)。
加入破折号(-)是为了区分符号部分、指数部分、尾数部分。这里,符号部分为0,指数部分为01111110,尾数部分为10000000000000000000000。
因为0.75是正数,所以符号位是0。指数部分的1111110是十进制数126,用EXCESS系统表现就是-1(126-127=-1)。根据正则表达式的规则,小数点前面的第1位是1,因此尾数部分10000000000000000000000实际上表示的是1.10000000000000000000000这个二进制数。将尾数部分的二进制数转换成十进制数,结果就是(1×2的0次幂)+(1×2的-1次幂)=1.5。因此,0-01111110-10000000000000000000000这个单精度浮点数,表示的就是“+1.5×2的-1次幂”。2的-1次幂是0.5,+1.5×0.5=+0.75。正好吻合,结果正确。
标签:1.5,尾数,确认,01111110,程序,3.6,0.75,部分,10000000000000000000000 From: https://www.cnblogs.com/z1218/p/17092996.html