c语言里%f跟%lf有什么区别?
由于精度的原因,输出%lf和%f的数据不同,可能会造成错误。
主要有一下四点区别:
1、代表的数据类型不同
%f代表单精度浮点型数据(float),%lf代表双精度浮点型数据(double)。
2、有效数字位数不同
单精度浮点数有效数字保证6位,部分7位,双精度浮点数有效数字保证15位,部分16位。
3、所能表示数的范围不同
单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38,双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308
4、在程序中处理速度不同
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快。
1、在C语言中,控制符%d表示将一个整型变量输入输出,它是输入输出整型变量的最标准格式,但
有时候为了排版美观和整齐,有意地将一个变量占两或多个变量的位置,是一种个人习惯,
例如a=5;printf(“%2d”,a);
那输出的5就占了两个变量的位置了,再如a=5;printf(“%d”,a);那输出的5占一个变量的
位置了。
2、至于%1d则是讲一个整型变量按四个字节输出到屏幕上,而int型本来就有四个字节,故%1d实
际上就是标准输出(%d)了。控制符%f表示将一个单精度小数输入输出,它是输入输出float变量
的最标准格式,%lf则是输入输出双精度小数(即double型变量)。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!