IEEE754规定的浮点数
浮点数分为规格化值、非规格化值和特殊值,由阶码决定
当阶码字段的二进制位不全为0,且不全为1时,此时表示的是规格化的值
当阶码字段的二进制位全为0时,此时表示的数值是非规格化的值
当阶码字段的二进制位全为1时,表示的数值为特殊值,特殊值分类为两类,一类表示无穷大或者无穷小,另外一类表示“不是一个数”
规格化值
阶码
规格化值阶码最小是1,最大是254
用e表示阶码的值,实际指数为E=e-bias(偏置量)
偏置量求法如下:2^(n-1) -1
尾数
尾数M被定义为1+f,尾数M的二进制表示如图所示
因为我们可以调整E的取值,使得尾数M的取值范围大于等于1,小于2,既然第一位总是1,那么就没有必要显示的表示出来,这就是为什么尾数M的值需要加1,这个加1的地方需要特别记住
非规格化值
关于非规格化的数有两个用途,
一是提供了表示数值0的方法:当符号位s等于0,阶码字段全为0,小数字段也全为0时,此时表示正零;当符号位s等于1,阶码字段全为0,小数字段也全为0时,此时表示负零。
二是可以表示非常接近于0的数字,当阶码字段全为0的时,阶码E的值等于1-bias,而尾数M此时为f,不再需要+1
特殊值
当阶码字段全为1,且小数字段全为0时,表示无穷大的数,符号位s决定正负
当阶码字段全为1,且小数字段不为0时,可以表示NaN(Not a Number)