二进制浮点数
**IEEE标准表示:V=(-1)s×m×2e(有点类似于科学计数法中的十进制表达:a×10n)
二进制浮点数由S、M、E三部分组成,其中,S是符号位,表示浮点数的正负;E是指数位;M是尾数位,表示系数。
注意:S、M、E是浮点数的存储形式且都是二进制存储,s、m、e是实际数值(二进制)。
二进制浮点数转换成十进制浮点数
**V=(-1)s2em
规格化(normalizaed): E的二进制位不全为0也不全为1.
e=|E|-bias
bias=2(k-1)-1(k是E的位数长度)
m=|1.M|(注意:这里M的十进制计算是二进制小数转十进制小数)
最小规格化数: 2(1-bias)
非规格化(denormalized): E的二进制位全为0.
e=1-bias
m=|0.M|
最小非规格化数: 2(1-bias)-n(n是M的二进制位数)
最大非规格化数: 2(1-bias)*(1-2-n)
无穷大: E的二进制位全为1,M的二进制位全为0
NaN: E的二进制位全位1,M的二进制位不全位0
十进制浮点数转二进制浮点数
先将十进制浮点数转换成二进制IEEE标准表示:V=(-1)s×m×2e
S:根据符号直接判断
M:m-1补齐
E:e+bias