首页 > C/C++语言 > C/C++基本语法 > C语言精品教程:实型数据
2012
03-29

C语言精品教程:实型数据

计算机等级考试二级C语言精编教程:实型数据

2.4 实型数据

2.4.1 实型常量

实型常量又称实数或浮点数。在C语言中可以用两种形式表示一个实型常量。

一、小数形式

小数形式是由数字和小数点组成的一种实数表示形式,例如0.123、.123、123.、0.0等都是合法的实型常量。注意:小数形式表示的实型常量必须要有小数点。

二、指数形式

这种形式类似数学中的指数形式。在数学中,一个数可以用幂的形式来表示,如2.3026可

以表示为0.23026×101、2.3026×100、23.026×10-1等形式。在C语言中,则以“e”或“E”后跟一个整数来表示以10
为底的幂数。2.3026可以表示为0.23026E1、2.3026e0、23.
026e-1。C语言的语法规定,字母e或E之前必须要有数字,且e或E后面的指数必须为整数。如e3、.5e3.6、.e3、e等都是非法的指数形式。
注意:在字母e或E的前后以及数字之间不得插入空格。

2.4.2 实型变量

C语言中实型变量分为单精度型和双精度型两种,分别用类型名float和double进行定义。

单精度型变量定义的形式如下:

float a,b,c;

双精度型变量定义的形式如下:

double x,y,z;

在一般计算机系统中,为float类型的变量分配4个字节的存储单元,为double类型的变量分配8个字节的存储单元,并按实型数的存储方式存放数据。实型的变量只能存放实型数,不能用整型变量存放一个实数,也不能用实型变量存放一个整数。

在VC6.0中单精度实数(float类型)的数值范围约在-1038~1038之间,并提供7位有效数

字位;绝对值小于10-38的数被处理成零值。双精度实数(double类型)的数值范围约在-10308~10308之间,并提供15~16位有
效数字位,具体精确到多少位与机器有关;绝对值小于10-308的数被处理成零值。因此double型变量中存放的数据要比float型变量中存放的数据
精确得多。注意,在VC6.0中,所有的float类型数据在运算中都自动转换成double型数据。

前面已经介绍过,在程序中一个实数可以用小数形式表示,也可以用指数形式表示。但在内存中,实数一律是以指数形式存放的。

注意:在计算机中可以精确地存放一个整数,不会出现误差,但整型数值的数值范围比实数小。实型数的数值范围较整型大,但往往存在误差。


留下一个回复