溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言中的小數(shù)怎么表現(xiàn)

發(fā)布時間:2021-08-11 19:06:22 來源:億速云 閱讀:249 作者:chen 欄目:編程語言

這篇文章主要介紹“C語言中的小數(shù)怎么表現(xiàn)”,在日常操作中,相信很多人在C語言中的小數(shù)怎么表現(xiàn)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C語言中的小數(shù)怎么表現(xiàn)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

  小數(shù)分為整數(shù)部分和小數(shù)部分,它們由點號.分隔,例如0.0、75.0、4.023、0.27、-937.198-0.27等都是合法的小數(shù),這是最常見的小數(shù)形式,我們將它稱為十進制形式。

  此外,小數(shù)也可以采用指數(shù)形式,例如7.25×102、0.0368×105、100.22×10-2、-27.36×10-3等。任何小數(shù)都可以用指數(shù)形式來表示。

  C語言同時支持以上兩種形式的小數(shù)。但是在書寫時,C語言中的指數(shù)形式和數(shù)學(xué)中的指數(shù)形式有所差異。

C語言中小數(shù)的指數(shù)形式為:

  aEn或aen

  a為尾數(shù)部分,是一個十進制數(shù);n為指數(shù)部分,是一個十進制整數(shù);E或e是固定的字符,用于分割尾數(shù)部分和指數(shù)部分。整個表達式等價于a×10n。

  指數(shù)形式的小數(shù)舉例:

  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ù)有兩種類型,分別是float或double;float稱為單精度浮點型,double稱為雙精度浮點型。

  不像整數(shù),小數(shù)沒有那么多幺蛾子,小數(shù)的長度是固定的,float始終占用4個字節(jié),double始終占用8個字節(jié)。

小數(shù)的輸出

  小數(shù)也可以使用printf函數(shù)輸出,包括十進制形式和指數(shù)形式,它們對應(yīng)的格式控制符分別是:

  %f以十進制形式輸出float類型;

  %lf以十進制形式輸出double類型;

  %e以指數(shù)形式輸出float類型,輸出結(jié)果中的e小寫;

  %E以指數(shù)形式輸出float類型,輸出結(jié)果中的E大寫;

  %le以指數(shù)形式輸出double類型,輸出結(jié)果中的e小寫;

  %lE以指數(shù)形式輸出double類型,輸出結(jié)果中的E大寫。

  下面的代碼演示了小數(shù)的表示以及輸出:

  #include

  #include

  intmain()

  {

  floata=0.302;

  floatb=128.101;

  doublec=123;

  floatd=112.64E3;

  doublee=0.7623e-2;

  floatf=1.23002398;

  printf("a=%e\nb=%f\nc=%lf\nd=%lE\ne=%lf\nf=%f\n",a,b,c,d,e,f);

  return0;

  }

  運行結(jié)果:

  a=3.020000e-01

  b=128.100998

  c=123.000000

  d=1.126400E+05

  e=0.007623

  f=1.230024

對代碼的說明:

  1)%f和%lf默認(rèn)保留六位小數(shù),不足六位以0補齊,超過六位按四舍五入截斷。

  2)將整數(shù)賦值給float變量時會變成小數(shù)。

  3)以指數(shù)形式輸出小數(shù)時,輸出結(jié)果為科學(xué)計數(shù)法;也就是說,尾數(shù)部分的取值為:0≤尾數(shù)<10。   4)b的輸出結(jié)果讓人費解,才三位小數(shù),為什么不能精確輸出,而是輸出一個近似值呢?這和小數(shù)在內(nèi)存中的存儲形式有關(guān),很多簡單的小數(shù)壓根不能精確存儲,所以也就不能精確輸出,我們將在下節(jié)《小數(shù)在內(nèi)存中是如何存儲的,揭秘諾貝爾獎級別的設(shè)計(長篇神文)》中詳細(xì)講解。   另外,小數(shù)還有一種更加智能的輸出方式,就是使用%g。%g會對比小數(shù)的十進制形式和指數(shù)形式,以最短的方式來輸出小數(shù),讓輸出結(jié)果更加簡練。所謂最短,就是輸出結(jié)果占用最少的字符。   

到此,關(guān)于“C語言中的小數(shù)怎么表現(xiàn)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI