C语言中实型变量分为单精度型和双精度型两种,分别用类型名float和double进行定义。
在一般计算机系统中,为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型数据。
前面已经介绍过,在程序中一个实数可以用小数形式表示,也可以用指数形式表示。但在内存中,实数一律是以指数形式存放的。
注意:
在计算机中可以精确地存放一个整数,不会出现误差,但整型数值的数值范围比实数小。