深入理解计算机系统:IEEE浮点表示

对于表达式 5x2^100,我们希望给出5和100,而不是利用100多个二进制位。

IEEE浮点标准用  V = (-1)s x M x 2的形式来表示一个数。

显然,s代表正负,M就是上式的5,E就是上式中的100,这样便可以只要三个数就表示出来。

将这三个字段装进字中的方式有两种:

根据exp的值,被编码的值可以分成三种情况,如下,第三种有两个变种。

 1.规格化的值:当exp的位不全是0且不全是1时,都为规格化的值。这种情况下,E=e-Bias。Bias=2k-1-1,单精度为127,双精度为1023。此时小数字段frac被解释为描述小数值f,0<=f<1,默认尾数为M=1+f。

2.非规格化的值:当阶码域为全0时,所表示的数是非规格化形式。这种情况下,阶码值E=1-Bias,尾数的值为M=f,不包含隐含的1 。

3.特殊值:当阶码全为1时。若frac全为0,则表示无穷大或无穷小。若frac不全为0,则为NaN(not a num) 。

例子:当阶码位为4位,小数位为3位时:Bias = 24-1-1=7 。

最好的开始时间是以前,其次是现在。
原文地址:https://www.cnblogs.com/dragonsbug/p/13624989.html