c語言中 double和float 的區別

單精度浮點數在機內佔4個位元組,用32位二進制描述。
雙精度浮點數在機內佔8個位元組,用64位二進制描述。

對編程人員來說,double 和 float 的區別是double精度高,有效數字16位,float精度7位。但double消耗內存是float的兩倍,double的運算速度比float慢得多,C語言中數學函數名稱double 和 float不同,不要寫錯,能用單精度時不要用雙精度(以省內存,加快運算速度)
還有
double類型存儲機制問題,64位是這樣存儲的:
1位符號位,11位指數位,52位尾數位。
因此,
(1)將2.2轉換成二進制為10.00110011...
(2)將10.00110011...轉換成指數形式為1.000110011...*2^1;
(3)開始正式轉換,符號位為0,表示為正;
(4)指數位為000,0000,0001,表明指數為2^1;
(5)尾數位為0001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1,最後一位1是第53位;
(6)顯然,最後是要進上去的。
因此,2.2f轉換成2.2d是變大的。

㈡ c語言中double和float的區別

兩個類型來的精度不同。
double精度高自,有效數字16位,float精度7位。但double消耗內存是float的兩倍,double的運算速度比float慢得多,在不確定的情況下還是盡量用double以保持正確性.

㈢ C語言中float和double各代表什麼含義,有什麼區別

都屬於浮點數 也就是小數

但精度不同 可以取值的范圍double要比float大

所佔內存位數也不同
32位機來版講
float 占 4位元組權 double 佔8位元組

隨便啦 一般的精度 float夠用了 不過大部分情況都聲明為double

主要是因為常小數值 系統識別為double 這樣在計算時 免去類型轉化

減小錯誤

㈣ C語言中float和double到底是什麼意思,有什麼區別,求解

是兩種數據類型,float是單精度浮點型,能得到六位有效數字;double是雙精度浮點型,可以得到十五位有效數字,而且取值范圍比float的大的多

㈤ c語言中的float和double類型有什麼區別什麼叫做單精度和雙精度

c語言中 單精度型和雙精度型 指兩種 類型 的 浮點數。
單精度型 即 float 型, 有效數字約10進制7位
雙精度型 即 double 型, 有效數字約10進制15位
所以能描述的數值精度不同。
c語言 數據 用 IEEE 754 國際標准。float 型 用 4 位元組存放,double 型 用 8 位元組存放。
Single Precision 2進制: 數符1位,指數8 位,尾數 23 位
Double Precision 2進制: 數符1位,指數11 位,尾數 52 位
單精數值范圍: ± ~10的-44.85次方 到 約 10的38.53次方
雙精度數值范圍 ± ~10的-323.3 次方 to 約 10的 308.3次方。
float a=1.234567;
double b=1.2345678901234;
-------------
10%3 整除取余數,得 1。
1 用 float 和 double 表示,精度沒有區別。 a=(float)(10%3); b=(double)(10%3);
強制轉換 要帶 小括弧。

㈥ 請問c語言中的float和double類型有什麼區別什麼叫做單精度和雙精度

c語言中 單精度型和雙精度型 指兩種 類型 的 浮點數。
單精度型 即 float 型, 有效專數字約10進制屬7位
雙精度型 即 double 型, 有效數字約10進制15位
所以能描述的數值精度不同。
c語言 數據 用 IEEE 754 國際標准。float 型 用 4 位元組存放,double 型 用 8 位元組存放。
Single Precision 2進制: 數符1位,指數8 位,尾數 23 位
Double Precision 2進制: 數符1位,指數11 位,尾數 52 位
單精數值范圍: ± ~10的-44.85次方 到 約 10的38.53次方
雙精度數值范圍 ± ~10的-323.3 次方 to 約 10的 308.3次方。
float a=1.234567;
double b=1.2345678901234;
-------------
10%3 整除取余數,得 1。
1 用 float 和 double 表示,精度沒有區別。 a=(float)(10%3); b=(double)(10%3);
強制轉換 要帶 小括弧。

㈦ C語言中的double和float

double與float的區別在於在內存中存放數據時佔用的內存不一樣,前者8位元組內,後者4位元組,也就是前者保容存的小數位數比後者多一倍。舉例說明對於1.9999996666,按照float輸出,結果可能為1.999999,如果按照double可能為1.999999,這是為什麼,因為C語言默認輸出小數位數都取6位,這時候看起來沒有區別,但是如果你進行格式控制,比如使用%.10,即小數保留10位,float輸出結果為1.9999990000,而double輸出結果則為1.9999996666。

㈧ c語言float和double的區別

這兩個不是函數,是數據類型.float是單精度實型,用4個位元組存儲
double是雙精度實型,用專8個位元組存儲。在屬進行程序運算時,float型數據一律轉換為double型數據,為自動類型轉換。所以結果一樣。但float,double兩種類型數據精度不同,float型有效數字位數為6~7位,double為15~16位,二者有區別

㈨ c語言中 long float 和double有什麼區別

一、主體不同

1、long:表示一種長整型數據。

2、float:浮點型數據類型

3、double:雙精度專浮點數據型。屬

二、類型不同

1、long:默認為有符號長整型,含4個位元組。

2、float:用於存儲單精度浮點數或雙精度浮點數。

3、double:表示十進制的15或16位有效數字。


三、取值范圍不同

1、long:取值范圍為:-2^31 ~ (2^31 -1)。

2、float:float 類型提供了一個在 -3.4E+38 ~ 3.4E+38 之間的范圍。

3、double:負值取值范圍為 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范圍為 4.94065645841246544E-324 到 1.797693E+308。

㈩ c語言中的double 和float有什麼區別

double的位數是float的2倍,float 16位, double 32位,都是浮點小數,所以double所能表示的數字范圍就大得多