类比整形在数据中的存储,是以二进制的方式来存储数据,浮点数也是如此,但是其空间内存的分配会与整型有很大差别。那么来举一个例子说明浮点数是如何存储的:
1.浮点数的表示形式是:V=(-1)^s*M*2^E
(M舍弃一个不保存,就可以节省空间,让其能保存更多的数据)
2.存储方式
2-1在32位的电脑环境下,浮点数的存储方式:
2-2在64位电脑环境下的浮点数存储方式:
那么,浮点数是如何存放进去的呢?还是以一开始举的例子5.5来说明,在32位的环境下:
5.5的二进制科学计数法表达式为:1.011*2^2
符号位:s为0,所以第一个位置存放的是0
有效位:位1.011,存储时位011,但是有效位是23位,所以要补齐,则为01100000000000000000000
指数位:由于其为一个无符号整型,但有时候,比如但遇到0.5时,二进制的表示形式为2^(-1),那么对于-1,我们知道,无符号整型的-1,是很大的,所以也就无法正确的表示出我们所想要的结果,因此,为了防止此现象的出现,就要在真实值的基础上再加一个中间数,对于8位的E,就加上127,对于11位的E,就加上1023,那么回到此道表达中,则位2+127=129,对应的二进制表达式是10000001
最后,就放在一起:0100 0000 1011 0000 0000 0000 0000 0000,以十六进制形式打印,就为
04 0B 00 00(B表示为11)
那么浮点数的存储方式就介绍完啦,希望对大家有所帮助。