一、整形的存储方式
1.整形的存储方式,就是以原码,反码,补码的方式,在内存中存储;网上随便找一篇文章,就可以解决问题;但是float类型则是比较烧脑;需要仔细的整理;
二、float类型的存储方式
2.1整形和浮点型在内存中的存储方式是有差异的;
2.2浮点数的存储规则
根据国际标准
IEEE
(电气和电子工程协会)
754
,任意一个二进制浮点数
V
可以表示成下面的形式:
(-1)^S * M * 2^E
(-1)^s表示符号位,当
s=0
,
V
为正数;当
s=1
,
V
为负数。
M表示有效数字,大于等于
1
,小于
2
。
2^E表示指数位(可以理解为将M向左扩大(移)E位,或向右缩小(移)E位);
注:E是可以表示0~256的,而不是2^E是一个整体;
举例:以下的第二列是采用科学记数法转换的二进制浮点数;第三列是float类型的表现形式,真实储存结构,请根据公式查看图片,可一一对应;
9-> 1001(二进制浮点数) ->(-1)^0*1.001*2^3;
5.5->101.1(二进制浮点数) ->(-1)^0*1.011*2^2;
IEEE 754
规定:
对于
32
位的浮点数,最高的
1
位是符号位