分类: C/C++
2008-04-16 19:25:21
|
2.4.1
实型常量
实型常量又称浮点常量,是一个十进制表示的符号实数。符号实数的值包括整数部分、尾数部分和指数部分。实型常量的形式如下:
[digits][.digits][E|e[+|-]digits]
]
在此digits是一位或多位十进制数字(从0~9)。E(也可用e)是指数符号。小数点之前是整数部分,小数点之后是尾数部分,它们是可省略的。小数点在没有尾数时可省略。指数部分用E或e开头,幂指数可以为负,当没有符号时视为正指数的基数为10,如
1.575E10表示为:1.575×1010。在实型常量中不得出现任何空白符号。在不加说明的情况下,实型常量为正值。如果表示负值,需要在常量前使用负号。下面是一些实型常量的示例:
15.75,1.575E10,1575e-2,-0.0025,-2.5e-3,25E-4
所有的实型常量均视为双精度类型。
。实型常量的整数部分为0时可以省略,如下形式是允许的:
:
.57,.0075e2,-.125,-.175E-2
。
注意字母E或e之前必须有数字,且E或e后面指数必须为整数,如e3、2.1e3.5、.e3、e等都是不合法的指数形式。
2.4.2实型变量
实型变量分为单精度(float型)和双精度(double型)。对每一个实型变量都应再使用前
加以定义。如:
floatx,y;/*指定x,y为单精度实数*/
doublez;/*指定z为双精度实数*/
在一般系统中,一个float型数据在内存中占4个字节(32位)一个double型数据占8个字节(64位)。单精度实数提供7位有效数字,双精度提供15~16位有效数字,数值的范围随机器系统而异。
值得注意的是,实型常量是double型,当把一个实型常量赋给一个float型变量时,系统会截取相应的有效位数。例如
floata;
;a=111111.111;
由于float型变量只能接收7位有效数字,因此最后两位小数不起作用。如果将a改为double型,则能全部接收上述9位数字并存储在变量a中。