数据的存储(二)(浮点型)(零基础学习C语言)

coding


1e10的意思是1*10的10次方


在float.h头文件中可以查看浮点型的精度和取值范围


在limit.h头文件可以查看整形的精度和取值范围


整形在内存中的存储方式 与 浮点型在内存中的储存方式有区别
例:
猜测

实际上


先将十进制的浮点数,化为相应的二进制补码,再将二进制写成科学计数法的表达形式,计算机将S M E分别存储,待使用时应用即可
(-1的几次方(表示符号)-1^0=0(二进制补码中表示正数),-1^1=-1(二进制补码中表示负数)
M的范围在1-2之间
2的E次方)

例:


计算机将S M E分别存储,待使用时应用即可
计算机中S M E的存储形式


对有效数字M存储的规定,存储的是小数点后的精度(1没存)

对指数数字E存储的规定:

因为E规定为无符号整数,但是E可能有负数
所以如果是8位的E(float),(无论E为正负)将E加上127(十进制的127),作为E存储在电脑中
所以如果是11位的E(double),(无论E为正负)将E加上1023(十进制的1023),作为E存储在电脑中

注意:M是后面补0


E的取出


减去127即可得到真实值(float)
减去1023即可得到真实值(double)

这是一种特殊情况
意味着这个数非常小


这是一种特殊情况
意味着这个数非常大

所以上面例题的正确分析:
浮点数的形式放进去
整形的形式取出来

以上是 数据的存储(二)(浮点型)(零基础学习C语言) 的全部内容, 来源链接: utcz.com/z/508991.html

回到顶部