1.float double类型
规定float至少要能表示6位有效数字,double类型至少表示10位有效数字。其实还有一种浮点类型位 long double 其精度大于等于double 类型。
1.1浮点型常量
浮点型常量基本表示形式:有符号数字 后跟e或E 最后跟10的指数。(注意:有符号数字和e或E之间不能有空格,有符号数字正号可以省略)
1.2打印浮点值
打印 float 和 double 类型都使用%f ,而如果要用指数形式表示,则用%e打印,如果long double 类型则用 %Lf、%Le。下面进行举例。
#include<stdio.h>
int main(void)
{
double a,b;
a=320.23333;
b=1.233333;
printf("%f %e\n",a,a);
printf("%f %e\n",b,b);
return 0;
}
输出结果:
1.3浮点值的上溢和下溢
当数值过于大时,导致浮点值的上溢,那么上溢会导致什么,如果超过了表达范围,C语言规定会给该数据夫一个表示无穷的的特定值,如:
#include<stdio.h>
int main(void)
{
double a, b;
a = 10e38;
b = 2e38;
printf("%f %e\n", a, a);
printf("%f %e\n", b, b);
return 0;
}
输出结果:(但指数表示形式不会改变)
实际上:2^38=274877906944
浮点值的下溢:浮点值的下溢导致的结果就是,会损失原末尾有效位上的数字。