⑴ 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