【文件属性】:
文件名称:实型变量的存储方式-复高斯分布的数学基础理论
文件大小:6.48MB
文件格式:PDF
更新时间:2024-06-28 07:07:06
嵌入式 Linux C
表 4.3 实型家族各类型所占比特数
类 型 比 特 数 有 效 数 字 取 值 范 围
float 32 6~7 ?3.4×10?38~3.4×1038
double 64 15~16 ?1.7×10?308~1.7×10308
long double 32 18~19 ?1.2×10?308~1.2×10308
要注意的是,这里的有效数字是指包括整数部分的全部数
字总数。它在内存中的存储方式是以指数的形式表示的,如图
4.2 所示。
由上图可以看出,小数部分所占的位(bit)越多,数的精
度就越高;指数部分所占的位数越多,则能表示的数值范围就
越大。下面程序就显示了实型变量的有效数字位数。
#include
void main(){
float a;
double b;
/*单精度,有效数字为 7*/
a=33333.33333;
/*双精度,有效数字为 16*/
b=33333.333333;
printf("a = %f\,b = %f\n",a,b);
}
该程序的运行结果如下所示:
a = 33333.332031,b = 33333.333333
可以看出,由于 a 为单精度类型,有效数字长度为 7 位,因此 a 的小数点后 4 位并不是
原先的数据,而由于 b 为双精度类型,因此 b 的显示结果就是实际 b 的数值。
2.实型常量
在C语言中,实型常量只采用十进制。它有两种形式:十进制数形式和指数形式,所有
浮点常量都被默认为 double 类型。表 4.4 概括了实型常量的表示方法。
表 4.4 实型常量的表示方法
形 式 表 示 方 法 举 例
十进制表示 由数码 0~9 和小数点组成 0.0,.25,5.789,0.13,5.0,300.
指数形式 <尾数>E(e) <整型指数> 3.0E5,?6.8e18
指数 小数部分 数符
+ .314159 1
=0.314159+10
1
=3.14159
图 4.2 实型变量的存储方式