C/C++中有两种类型的浮点字符:浮点型和双精度型。
浮点类型的大小为4字节,即32位。在内存中的存储方式如下:符号位(1位)指数(8位)尾数(23位)
double类型的大小为8字节,即64位,内存布局是这样的:符号位(1bit)指数(11bit)尾数(52bit)
符号位决定数字是正数还是负数,0为正,1为负。
指数和尾数源自二进制浮点数的科学记数形式。
比如浮点数2.5点10.1的二进制形式,转换成科学记数法的形式(1.01)*(10^1),可以看成是1的指数,。尾数(即小数部分的科学记数法)为01。
根据浮点数的存储标准(IEEE确认),浮点类型索引的起始数为127(二进制01111111),double类型索引的起始数为1023(二进制01111111111)。尾数直接填充。如果空间太多,则为0。如果空间不足,则将0舍入。因此,比率和双精度数分别以这种方式表示2.5(二进制):
符号位
指数
尾数
0
10000000000000000000000000
010000
0
10000000000
0100000000000000000000000000000000000000000000000000000
上一篇:拯救者y7000内存条型号
下一篇:浮点型在内存中怎么存