C語言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ù)形式來表示。

  C語言中的小數(shù)也有這兩種表示形式。在書寫時(shí),十進(jìn)制形式和數(shù)學(xué)中的一樣,指數(shù)形式有所差異。

  在C語言中小數(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語言中小數(shù)的數(shù)據(jù)類型為 float 或 double:float 稱為單精度浮點(diǎn)數(shù),double 稱為雙精度浮點(diǎn)數(shù)。不像整數(shù),小數(shù)的長度始終是固定的,float 占用4個(gè)字節(jié),double 占用8個(gè)字節(jié)。

  10 是固定的,不需要在內(nèi)存中體現(xiàn)出來。正負(fù)號、指數(shù)(n)、尾數(shù)(a) 是變化的,需要占用內(nèi)存空間來表示。

  float、double 在內(nèi)存中的形式如下所示:

  輸出 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;}

  運(yùn)行結(jié)果:

  a=128.100998

  b=0.302000

  c=1.230024

  d=123.000000

  e=78.429000

  對代碼的說明:

  1) %f 默認(rèn)保留六位小數(shù),不足六位以 0 補(bǔ)齊,超過六位按四舍五入截?cái)唷?/p>

  2) 將整數(shù)賦值給 float 變量時(shí)會轉(zhuǎn)換為小數(shù)。

  3) 小數(shù)默認(rèn)為 double 類型,加上后綴f才是float類型。

  4) 由于內(nèi)存有限,小數(shù)的精度受限,所以輸出 a 時(shí)只能獲得一個(gè)近似數(shù)。

  以上就是對C語言中double 和float 進(jìn)行的詳細(xì)分析、比較,希望能幫助學(xué)習(xí)這塊內(nèi)容的同學(xué)。

1.《c語言double C語言double和float 實(shí)例分析用法》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《c語言double C語言double和float 實(shí)例分析用法》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進(jìn)行證實(shí),對其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。

3.文章轉(zhuǎn)載時(shí)請保留本站內(nèi)容來源地址,http://f99ss.com/jiaoyu/187962.html