数据的存储(二)(浮点型)(零基础学习C语言)
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) 这是一种特殊情况 意味着这个数非常小 这是一种特殊情况 意味着这个数非常大 所以上面例题的正确分析: 浮点数的形式放进去 整形的形式取出来 来源: 51CTO 作者: 拾风