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个回答  2019-09-13
有的,输入的时候,
%f
表示
float单浮点数,
%lf
双浮点数。
输出的时候没区别。都是%f.
第2个回答  2020-05-14
支持楼上!
%f是单精度
float
%lf是双精度
doeble
相似回答