C语言入门讲解【拓展 进阶版】(建议有一定知识储备2)

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
浮点值的下溢:浮点值的下溢导致的结果就是,会损失原末尾有效位上的数字。

猜你喜欢

转载自blog.csdn.net/weixin_46145739/article/details/105116389