C語言double和float 實例分析
小數(shù)也稱實數(shù)或浮點數(shù)。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小數(shù)。這是常見的小數(shù)的表現(xiàn)形式,稱為十進制形式。
除了十進制形式,也可以采用指數(shù)形式,例如 7.25×102、0.0368×105、100.22×10-2 等。任何小數(shù)都可以用指數(shù)形式來表示。
C語言中的小數(shù)也有這兩種表示形式。在書寫時,十進制形式和數(shù)學(xué)中的一樣,指數(shù)形式有所差異。
在C語言中小數(shù)的指數(shù)形式為:
aEn 或 aen
a 為尾數(shù)部分,是一個十進制數(shù),n 為指數(shù)部分,是一個十進制整數(shù),E或e是固定的字符,其值為 a×10n。例如:
2.1E5 = 2.1×105,其中2.1是尾數(shù),5是指數(shù)。
3.7E-2 = 3.7×10-2,其中3.7是尾數(shù),-2 是指數(shù)。
0.5E7 = 0.5×107,其中0.5是尾數(shù),7是指數(shù)。
C語言中小數(shù)的數(shù)據(jù)類型為 float 或 double:float 稱為單精度浮點數(shù),double 稱為雙精度浮點數(shù)。不像整數(shù),小數(shù)的長度始終是固定的,float 占用4個字節(jié),double 占用8個字節(jié)。
10 是固定的,不需要在內(nèi)存中體現(xiàn)出來。正負號、指數(shù)(n)、尾數(shù)(a) 是變化的,需要占用內(nèi)存空間來表示。
float、double 在內(nèi)存中的形式如下所示:
輸出 float 使用 %f 控制符,輸出 double 使用 %lf 控制符,如下所示:
#include <stdio.h>
#include <stdlib.h>
int 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=%lf\n", a, b, c, d, e);
system("pause");
return 0;
}
運行結(jié)果:
a=128.100998
b=0.302000
c=1.230024
d=123.000000
e=78.429000
對代碼的說明:
1) %f 默認保留六位小數(shù),不足六位以 0 補齊,超過六位按四舍五入截斷。
2) 將整數(shù)賦值給 float 變量時會轉(zhuǎn)換為小數(shù)。
3) 小數(shù)默認為 double 類型,加上后綴f才是float類型。
4) 由于內(nèi)存有限,小數(shù)的精度受限,所以輸出 a 時只能獲得一個近似數(shù)。
以上就是對C語言中double 和float 進行的詳細分析、比較,希望能幫助學(xué)習(xí)這塊內(nèi)容的同學(xué)。
您可能感興趣的文章
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用函數(shù)刪除字符
- 04-02c語言的正則匹配函數(shù) c語言正則表達式函數(shù)庫
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對數(shù)怎么表達
- 04-02c語言用函數(shù)寫分段 用c語言表示分段函數(shù)
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排序法函數(shù)
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段函數(shù)
- 04-02C語言中怎么打出三角函數(shù) c語言中怎么打出三角函數(shù)的值
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求階乘


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機閱讀
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 04-02jquery與jsp,用jquery
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10C#中split用法實例總結(jié)
- 01-10delphi制作wav文件的方法


