1.浮点数存储形式:
浮点数的小数点位置是变化的,用阶码和尾数开表示,不用惧怕它的表示形式,它也是一串亲切0、1序列。IEEE754标准从逻辑上用三元组{S,E,M}表示一个浮点数N,如下图所示:(以四字节单精度的浮点型数据为例)
其中:
S表示该浮点数N的符号位,0代表正,1代表负;
E为阶码,表示N的指数位,用一个字节表示(8位)
M 为尾数,表示小数部分,该部分决定了浮点型数据的有效数字或精度
下面来看一下如何将一个实数浮点型按该格式存储为二进制:
以3.25为例:
首先可以得到符号位S=0;
然后将3.25转化为二进制表示:11.01,进而变化为:1.101*2^1;
那么,阶码即为1+bias=1+127=128;(单精度浮点型数据的偏移量bias为127)
所以E=10000000
尾数为省去默认的小数点左边的1后剩下的数,即为:101,这也就是为什么23位的尾数可以表示24位精度的缘故。所以M=10100000000000000000000