當前位置:首頁 » 編程語言 » c語言f與lf的區別
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言f與lf的區別

發布時間: 2022-05-10 05:56:07

1. %lf 與%f有什麼區別(給個簡單的例子說明)

%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處理單精度浮點數的速度比處理雙精度浮點數快。

例,以標識符列表方式定義函數:

#include <stdio.h>

void f(a, b)

int a;

float b;

{

printf("%d, %f ", a, b);

}

int main()

{

f();

f(1);

f(2, 3.14);

return 0;

}

2. 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位時,按實際寬度輸出。

3. C語言里scanf中,%lf和%f區別是什麼我這么寫的。 double a; scanf(「%

%f 是浮點型(單精度),佔4位元組
%lf 是浮點型(雙精度),佔8位元組
scanf 按格式化字元串指定類型將用戶輸入的內容轉換,然後寫到指定的地址。兩種類型存儲方式,所佔內存不同,類型錯誤自然會得到錯誤結果。

4. c語言編程中%lf和%f,有啥區別,什麼double,長短型,求大神解釋

作輸出格式控制字元串時效果一樣,不說。作scanf的輸入控制字元串時,%lf是雙精度,8位元組;%f是單精度,4位元組;——也就是%lf對應double型就是,%f對應float型變數,用錯了運行結果就出錯。double的長型是10位元組,精確到19位,double型是8位元組,精確到16位,未見過「短double」型。但好多編譯器下寫long double仍是8位元組,就是說沒有區分長型和普通型……供參考。