當前位置:才華齋>計算機>C語言>

C語言double和float 例項分析用法

C語言 閱讀(2.05W)
  C語言double和float 例項分析用法

小數也稱實數或浮點數。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小數。這是常見的小數的表現形式,稱為十進位制形式。

C語言double和float 例項分析用法

除了十進位制形式,也可以採用指數形式,例如 7.25×102、0.0368×105、100.22×10-2 等。任何小數都可以用指數形式來表示。

C語言中的小數也有這兩種表示形式。在書寫時,十進位制形式和數學中的一樣,指數形式有所差異。

在C語言中小數的指數形式為:

aEn 或 aen

a 為尾數部分,是一個十進位制數,n 為指數部分,是一個十進位制整數,E或e是固定的字元,其值為 a×10n。例如:

2.1E5 = 2.1×105,其中2.1是尾數,5是指數。

3.7E-2 = 3.7×10-2,其中3.7是尾數,-2 是指數。

0.5E7 = 0.5×107,其中0.5是尾數,7是指數。

C語言中小數的資料型別為 float 或 double:float 稱為單精度浮點數,double 稱為雙精度浮點數。不像整數,小數的長度始終是固定的,float 佔用4個位元組,double 佔用8個位元組。

10 是固定的,不需要在記憶體中體現出來。正負號、指數(n)、尾數(a) 是變化的.,需要佔用記憶體空間來表示。

float、double 在記憶體中的形式如下所示:

輸出 float 使用 %f 控制符,輸出 double 使用 %lf 控制符,如下所示:

#include#includeint main(){ float a=128.101; float b=0.302f; float c=1.23002398f; double d=123; double e = 78.429; printf("a=%f nb=%f nc=%f nd=%lf ne=%lfn", a, b, c, d, e); system("pause"); return 0;}

執行結果:

a=128.100998

b=0.302000

c=1.230024

d=123.000000

e=78.429000

對程式碼的說明:

1) %f 預設保留六位小數,不足六位以 0 補齊,超過六位按四捨五入截斷。

2) 將整數賦值給 float 變數時會轉換為小數。

3) 小數預設為 double 型別,加上字尾f才是float型別。

4) 由於記憶體有限,小數的精度受限,所以輸出 a 時只能獲得一個近似數。

以上就是對C語言中double 和float 進行的詳細分析、比較,希望能幫助學習這塊內容的同學