储存浮点数首先需要分解浮点数,分解方式如下——
-1^S*M*2^E
举一个例子:
float a = 5.5
在计算机内,我们知道浮点数是以二进制存储的 所以5的二进制数为101 , 0.5的二进制数为2^-1所以为0.1
所以5.5的二进制数为101.1
0.1 = 2^-1
-0.1 = -1^1*1*2^-1
-1^0*1.011*2^2
(S M E)对照上面的分解方式我们可知S=0 M=1.011 E=2
注意:在数据存储中M中的1不会存储进电脑,而会放入小数点后的位数
E:如果存储的是float型则E+127在存入 如果为double则E + 1023
float(占四个比特位每个比特位为8个字节)
每一个【】代表一个字节
【】【】【】【】【】【】【】【】【】【】【】。。。。(32个)
其中第1个【】放S(1或者0)
中间8个【】放E
后面23个【】放M
通过上面你肯定已经了解了浮点数的存储方式那double的呢?其实也很简单和float基本相同
double型:第1个【】放S 中间11个【】放E 后面52个【】放M
通过这些相信你也知道了如何取出浮点数了吧