C語(yǔ)言double和float 實(shí)例分析
小數(shù)也稱實(shí)數(shù)或浮點(diǎn)數(shù)。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小數(shù)。這是常見的小數(shù)的表現(xiàn)形式,稱為十進(jìn)制形式。
除了十進(jìn)制形式,也可以采用指數(shù)形式,例如 7.25×102、0.0368×105、100.22×10-2 等。任何小數(shù)都可以用指數(shù)形式來(lái)表示。
C語(yǔ)言中的小數(shù)也有這兩種表示形式。在書寫時(shí),十進(jìn)制形式和數(shù)學(xué)中的一樣,指數(shù)形式有所差異。
在C語(yǔ)言中小數(shù)的指數(shù)形式為:
aEn 或 aen
a 為尾數(shù)部分,是一個(gè)十進(jìn)制數(shù),n 為指數(shù)部分,是一個(gè)十進(jìn)制整數(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語(yǔ)言中小數(shù)的數(shù)據(jù)類型為 float 或 double:float 稱為單精度浮點(diǎn)數(shù),double 稱為雙精度浮點(diǎn)數(shù)。不像整數(shù),小數(shù)的長(zhǎng)度始終是固定的,float 占用4個(gè)字節(jié),double 占用8個(gè)字節(jié)。
10 是固定的,不需要在內(nèi)存中體現(xiàn)出來(lái)。正負(fù)號(hào)、指數(shù)(n)、尾數(shù)(a) 是變化的,需要占用內(nèi)存空間來(lá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; }
運(yùn)行結(jié)果:
a=128.100998
b=0.302000
c=1.230024
d=123.000000
e=78.429000
對(duì)代碼的說明:
1) %f 默認(rèn)保留六位小數(shù),不足六位以 0 補(bǔ)齊,超過六位按四舍五入截?cái)唷?/strong>
2) 將整數(shù)賦值給 float 變量時(shí)會(huì)轉(zhuǎn)換為小數(shù)。
3) 小數(shù)默認(rèn)為 double 類型,加上后綴f才是float類型。
4) 由于內(nèi)存有限,小數(shù)的精度受限,所以輸出 a 時(shí)只能獲得一個(gè)近似數(shù)。
以上就是對(duì)C語(yǔ)言中double 和float 進(jìn)行的詳細(xì)分析、比較,希望能幫助學(xué)習(xí)這塊內(nèi)容的同學(xué)。
相關(guān)文章
關(guān)于C語(yǔ)言多線程pthread庫(kù)的相關(guān)函數(shù)說明
下面小編就為大家?guī)?lái)一篇關(guān)于C語(yǔ)言多線程pthread庫(kù)的相關(guān)函數(shù)說明。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-05-05OpenCV實(shí)現(xiàn)特征檢測(cè)和特征匹配方法匯總
一幅圖像中總存在著其獨(dú)特的像素點(diǎn),這些點(diǎn)我們可以認(rèn)為就是這幅圖像的特征,成為特征點(diǎn),本文主要介紹了OpenCV實(shí)現(xiàn)特征檢測(cè)和特征匹配方法,感興趣的可以了解一下2021-08-08VS2017+Qt5+Opencv3.4調(diào)用攝像頭拍照并存儲(chǔ)
本文主要介紹了VS2017+Qt5+Opencv3.4調(diào)用攝像頭拍照并存儲(chǔ),實(shí)現(xiàn)了視頻,拍照,保存這三個(gè)功能。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05利用C++實(shí)現(xiàn)一個(gè)線程安全的map
這篇文章主要為大家詳細(xì)介紹了如何利用C++實(shí)現(xiàn)一個(gè)線程安全的map(使用ChatCPT生成),代碼是通過兩輪對(duì)話完善的,感興趣的小伙伴可以了解一下2023-05-05C語(yǔ)言運(yùn)算符的優(yōu)先級(jí)和結(jié)合性實(shí)例詳解
本文主要介紹C語(yǔ)言運(yùn)算符的知識(shí),這里對(duì)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性做出了詳解,并附實(shí)例代碼,希望能幫助有需要的小伙伴2016-07-07C語(yǔ)言全面細(xì)致講解單雙精度f(wàn)loat與double的使用方法
C語(yǔ)言中小數(shù)的數(shù)據(jù)類型為 float 或 double:float 稱為單精度浮點(diǎn)數(shù),double 稱為雙精度浮點(diǎn)數(shù)。不像整數(shù),小數(shù)的長(zhǎng)度始終是固定的,float 占用4個(gè)字節(jié),double 占用8個(gè)字節(jié)2022-05-05c++ 動(dòng)態(tài)內(nèi)存分配相關(guān)總結(jié)
這篇文章主要介紹了c++ 動(dòng)態(tài)內(nèi)存分配相關(guān)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)和使用c++,感興趣的朋友可以了解下2021-02-02