C语言中的实型变量分为单精度(float)和双精度(double)两种。对每一个实型变量在使用前都必须进行定义。如:
下面是单精度实型变量的定义方法:
float x,y;
float f1,f2;
下面是双精度实型变量的定义方法:
double d1,d2;
在一般系统中,一个单精度(float)型数据在内存中占4个字节(32位);一个双精度(double)型数据在内存总占8个字节(64位)。单精度实数提供7位有效数字,双精度提供15~16位有效数字,数值的范围随机器系统而异。
在VC6.0中,单精度数的取值范围为:-1038~1038之间;双精度数的取值范围大约为:-10-308~10308。并且,在VC6.0中,所有的float类型的数据在运算过程中都自动转换成double类型的数据。
值得注意的是,实型常量是double型,当把一个实型常量赋给一个float型变量时,系统会截取相应的有效位数。例如
float a=111111.111;
由于float型变量只能接收7位有效数字,因此最后两位小数不起作用。如果将a改为double型,则能全部接收上述9位数字并存储在变量a中。