c語言float和double
㈠ c語言中float和double到底是什麼意思,有什麼區別,求解
是兩種數據類賣冊型,float是單精度浮點型,能得到六位有效數字;畝配譽double是雙精度浮點型,可以得到十迅段五位有效數字,而且取值范圍比float的大的多
㈡ C語言中的小數float,double
程序設計就是讓計算機按照一定的指令來進行工作,可以說數據的處理是程序設計的主要任務。那麼,C語言中的小數(float,double)怎麼輸出?歡迎大家閱讀!更多相關信息請關注相關欄目!
小數也稱實數或浮點數。嫌茄明例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小數。這是常見的小數的表現形式,稱為十進制形式。
除了十進制形式,也可以採用指數形式,例如 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個位元組。
小數的輸出
輸出 float 使用 %f 控制符,輸出 double 使用 %lf 控制符,如下所示:
#include#includeint main(){float a = 0.302f;float b = 1.23002398;double c = 123;double d = 78.429;float e = 128.101;printf("a=%f b=%f c=%f d=%lf e=%lf ", a, b, c, d, e);return 0;}
運行結果:
a=0.302000
b=1.230024
c=123.000000
d=78.429000
e=128.100998
對代碼的說明:
1) %f 默認保留六位小數,不足六位以 0 補齊,超過六位按四捨五入截斷。
2) 將整數賦值給 float 變數時會轉換為小數。
㈢ C語言中float和double的區別
單精度浮點數(float)與雙精度浮點數(double)的區別如下:
(1)在內存中佔有的位元組數不同
單精度帆茄浮點數在機內佔4個位元組
雙精度浮點數在機內佔8個位元組
(2)有效數字態褲察位數不同
單精度浮點數有效數字8位
雙精度浮點數有效數字16位
(純氏3)所能表示數的范圍不同
單精度浮點的表示範圍:-3.40E+38 ~ +3.40E+38
雙精度浮點的表示範圍:-1.79E+308 ~ +1.79E+308
(4)在程序中處理速度不同
一般來說,CPU處理單精度浮點數的速度比處理雙精度浮點數快
㈣ double和float的區別是什麼
double是C語言的一個關鍵字,代表雙精度浮點型,佔8個位元組內存空間,其數值范圍為「1.7E-308~1.7E+308」,雙精度完全保證的有效數字是15位,16位只是部分數值有保證。
C語言中掘寬茄,float和double都屬於浮點數。區別在於:double所表示的范圍,整數部分范圍大於float,小數部分,精度也高於float。
舉個例子:圓周率3.1415926535 這個數字,如果用float來表示,最多隻能精確到小數點後面的6位。而double大約能精確巧鄭到小數點後面的15位左右。具體精確到幾位,跟所用的編譯器有關,但是各個編輯器編譯器之間,也是相差不大的。
至於整數部分,float表示的整數部分的范圍,就已經夠大了,能表示到萬億級別,已經大到沒邊了。而double所表示的整數范圍,大到更沒邊了。實際開發中,除了個別高精領域,基本上判察,使用float就足夠了。
㈤ C語言中float和double的區別!
區別:
1、精度不一樣,float是單精度,double是雙精度;
2、表示小數的范圍不一樣,double能表示的范圍比float大;
3、double在內存中,佔8個位元組,float在內存中,佔4個位元組。
float:浮點型數據類型,FLOAT 數據類型用於存儲單精度浮點數或雙精度浮點數。浮點數使用IEEE(電氣和電子工程師協會)格式。浮點類型的單精度值具有 4 個位元組,包括一個符號位、一個 8 位 二進制指數和一個 23 位尾數。由於尾數的高順序位始終為 1,因此它不是以數字形式存儲的。此表示形式為 float 類型提供了一個大約在 -3.4E+38 ~ 3.4E+38 之間的范圍。
double:雙精度浮點型,此數據類型與單精度數據類型(float)相似,但精確度比float高,編譯時所佔的內存空間依不同的編譯器而有所不同,是double float數據類型,C/C++中表示實型變數的一種變數類型。
(5)c語言float和double擴展閱讀:
浮點型數據
1、float型
編譯系統為每一個float型變數分配4個位元組,數值以規范化的二進制數指數形式存放在存儲單元中。
2、double型
為了擴大能表示的數值范圍,用8個位元組存儲一個double型數據,可以得到15位有效數字。
3、long double型
不同的編譯系統對long double型的處理方法不同,Visual C++6.0對long double型和double一樣處理,分配8個位元組。
網路-float
網路-double
㈥ c語言float和double保留小數點後幾位
c語言float和double保留小數點後6位斗局。
C語言中,輸出double類橘銷者型(雙精度實型)以及float類型(單精度實型)時,默認輸出6位小數(不足六位以0補齊,超過六位按四捨五入截斷)。
如果想小數點後面16位,寫成%.16lf,不會自動四捨五入的,double是一個近似值,通常沒有辦法做的很精確。通常能精確到小數點後面5,圓薯6位,也就是說超過5,6位了可能就不準了。