3.4.3 浮点型变量

浮点型变量是用于表示包含小数点的数据类型。浮点型变量的一般定义格式是“类型说明符变量标识符,变量标识符……”,示例如下。


float a,b;//定义a、b为单精度浮点型变量

double c,d;//定义c、d为双精度浮点型变量


同整型变量一样,浮点型变量也可以同时定义多个。C51支持3种浮点型变量类型,即float类型、double类型和long double类型。但是在C51中不具体区分这3种类型,它们都被当做float类型对待,因此,这3种浮点类型的精度和取值范围相同。浮点类型变量的字长为4个字节,共32位二进制数,取值范围为3.4x10-38~3.4×10+38。浮点型变量的示例程序如下。


include<stdio.h>//头文件

void main()//主函数

{

float a;//定义a为单精度浮点型变量

double b;//定义b为双精度浮点型变量

a=8976.1538;//赋值

b=6950.2692;

printf(“a=%f\nb=%f\n”,a,b);//打印输出结果

}


该程序可在KeilµVision3集成开发环境中运行,执行结果如下。


a=8976.154000

b=6950.269000


在本例中,a为单精度浮点型变量,有效位数是7位,因此最后四舍五入为8976.154。b为双精度浮点型变量,但在C51中仍按float型处理,所以有效位数也是7位,因此最后四舍五入为6 950.269。

注意在C51中,浮点型数据均为有符号浮点数,而没有无符号浮点数,字节最高位表示数据的符号,所以浮点型变量的有效位数是7位。