⑴ 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处理单精度浮点数的速度比处理双精度浮点数快。
⑵ C语言里的%lf,%.2lf,%.2f是什么意思
%lf 双精度浮点型,也就是double型的格式,默认保留6位小数。
如:double a = 1.2; printf("%lf",a); //1.200000
%.2lf 同上,不过限制了,值保留2位小数。
如:double a = 1.2345; printf("%.2lf",a); //1.23
%.2f 表示单精度浮点型,也就是float型的格式。
如:float a = 1.2731; printf("%.2f",a); //1.27
⑶ C语言中%f,%lf,%LF(具说是输出long doule的格式符)的区别。我知道%f,%lf一个是
C的内部浮点计算都是按double进行的,所以没有必要严格区分%f和%lf,它们都能正确输出浮点数据。输出float型数据时取4字节,double型取8字节。输出精度并不由%f和%lf控制,而是由%和后缀字母之间的规格化数字控制的,比如%.10f输出小数点后10位,第11位四舍五入;而%.3lf只输出小数点后3位,第4位四舍五入。没有%LF这个控制符。
⑷ C语言中%lf%lf与%lf,%lf区别
%f和%lf分别是float类型和double类型用于格式化输入输出时对应的格式符号。
其中:
float,单精度浮点型,对应%f.
double,双精度浮点型,对应%lf.
在用于输出时:
float类型可以使用%lf格式,但不会有任何好处。
double类型如果使用了%f格式可能会导致输出错误。
在用于输入时:
double 类型使用了%f格式,会导致输入值错误。
float类型使用double类型不仅会导致输入错误,还可能引起程序崩溃。
所以在输入输出时,一定要区分好double和float,而使用对应的格式符号。
⑸ C语言,printf的转换说明修饰符%lf和%LF有区别吗
没有区别
C语言虽然区分大小写
但在输出%lf这个格式上
%lf 和%Lf 是没有什么区别的。
⑹ 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处理单精度浮点数的速度比处理双精度浮点数快。
⑺ f和lf有啥区别
在c语言中f和lf的全称是%lf 与%f,它们的区别如下:
1、所能表示数的范围不同。
单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38,双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308
2、有效数字位数不同。
单精度浮点数有效数字保证6位,部分7位,双精度浮点数有效数字保证15位,部分16位。
3、代表的数据类型不同。
%f代表单精度浮点型数据(float),%lf代表双精度浮点型数据(double)。在程序中处理速度不同一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快。
4、输入不同。
%lf :%lf 输入数据时要求是float类型。%f :%f 输入数据时要求是double类型。
5、输出不同。
%lf :double类型以%lf 格式输出数据时不会自动转成%lf 格式,会导致输入值错误。%f :float类型以%f 格式输出数据时会自动转成%f 格式,不会导致输入值错误。
主要特点:
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。
⑻ C语言问题, f,lf,8.4lf区别,输出格式 看图,指导下为什么这么输出。
%f格式,默认有6位小数,但是float类型最多只能保存6-7位有效数字,如果超出此范围,则多余的数字没有意义。float类型占用4个字节。
%lf格式,用来输出double型数据,默认有6位小数,最多能保存15-16位位有效数字。double型占用8个字节。
%8.4lf,输出总宽度至少8位,不足时,前面补空格;固定输出4位小数,小数不足4位时后面补0,超过4位时四舍五入。如果小数4位+小数点1位+整数位数的结果超出8位时,按实际宽度输出。
⑼ c语言中%f与%lf有什么区别
%lf 和%f 的区别为:输入不同、输出不同、精度损失不同。
一、输入不同
1、%lf :%lf 输入数据时要求是float类型。
2、%f :%f 输入数据时要求是double类型。
二、输出不同
1、%lf :double类型以%lf 格式输出数据时不会自动转成%lf 格式,会导致输入值错误。
2、%f :float类型以%f 格式输出数据时会自动转成%f 格式,不会导致输入值错误。
三、精度损失不同
1、%lf :单精度数据使用%lf 格式会造成精度损失。
2、%f :双精度数据使用%f 不会造成精度损失。
⑽ 在Linux系统中,C语言中的%lf和%Lf有区别吗
%lf --> double --> 64bits = 8Bytes
%Lf --> long double --> 128bits = 16Bytes