浮点型常量的表示方法:
浮点数(floating-point number)就是实数(real number)。浮点数有两种表示形式:
(1)十进制小数形式。它由数字和小数点组成。0.123、123.、123.0、0.0都是十进制小数形式。
(2)指数形式。如123e3或123E3都代表123×103。
注意字母e或E之前必须有数字,且e后面的指数必须为整数,如e3、2.1e3.5、e3、e都不是合法的指数形式
实数规范化的指数形式:0.31415e2 (小数点前的数字为0)
内存中的存放形式:
浮点型变量的分类:
浮点型变量分为单精度(float)型、双精度(double)型和长双精度(long double)型3类。在Turbo C中有关浮点型的数据见下表。
浮点型数据的舍入误差:
main()
{
float a, b;
a=123456.789e5;
b=a+20;
printf(“%f”, a);
printf(“%f”, b);
printf("1.0/3*3 = %f",1.0/3*3);
printf("1/3*3 = %d",1/3*3);
}
//float有效位为7位
//12345678848.0000000
//12345678848.0000000
//1
//0
C语言编译系统将浮点型常量作为双精度来处理。如果是在数的后面加字母f和F(如1.65f、654.87F),这样编译系统就会按单精度处理。
long f;
f=2.45678*4523.65;
printf("%f\n",f);
//真值:11113.612847
//机器:11113.613281
//只能真确表示真值的前7位,可以用double存储
float a;
a = 111111.111;
//存储进去就会出现问题,有效位的原因
//输出:111111.109375