把一个数的有效数字和数的范围在计算机的存储单元中分别予以表示,这种把数的范围和精度分别表示的方法叫做浮点表示法
N=M*rE 其中,M称为浮点数的尾数,E称为浮点数的指数,也叫阶码,r称为浮点数的基数。 计算机中r取2,4,8,16等; M取小数,可正可负; E取整数,可正可负。 注意:基数r越大,可表示的浮点数的范围越大,浮点数的精度降低。 eg: 二进制数 10100.10011 可以写成 1.010010011*24
IEEE754浮点数标准便于软件移植
32位浮点数(单精度)在计算机中的存储形式: 64位浮点数(双精度)在计算机中的存储形式: 不论是32位浮点数还是64位浮点数,由于基数2是固定常数,对每一个浮点数都一样,所以不必用显示的方式来表示它。
32位浮点数中:
S是浮点数的符号位,占一位,安排在最高位,s=0表示正数,s=1表示负数M是尾数,放在低位部分,占用23位,小数点位置放在尾数域最左(最高)有效位的右边 注意:这里的最高位因为规格化总是1,故这一位经常不予存储,而认为隐藏在小数点的左边。E是阶码,占用8位,阶符采用隐含方式,即采用移码方法来表示正负指数64位同理
注意:在实际表示中,除去E全0和全1的特殊情况
将十进制数20.59375转换成754标准的32位浮点数的二进制格式。
解: 20.59375=10100.10011 10100.10011=1.010010011*24 得到:s=0,E=4+127=131,M=010010011 最后得到32位浮点数的二进制格式为: 0 10000011 0100 1001 1000 0000 0000 000