c語言float和double的區別

時間 2021-09-02 02:41:48

1樓:風若遠去何人留

占用空間不同

float 是4位元組

而double是8位元組

占用空間不同,就導致double可以表示的範圍 要比float大很多同時,double的精度 也比float要高很多。

2樓:匿名使用者

都屬於浮點數 也就是小數

但精度不同 可以取值的範圍double要比float大所佔記憶體位數也不同

32位機來講

float 佔 4位元組 double 佔8位元組隨便啦 一般的精度 float夠用了 不過大部分情況都宣告為double

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

減小錯誤

3樓:匿名使用者

c語言中float和double各代表什麼含義,有什麼區別? 15謝謝指教

那麼哪些小數用float,哪些用double,謝謝指教欽天愁 | 瀏覽 8967 次

推薦於2016-07-06 18:59:50最佳答案都屬於浮點數 也就是小數

但精度不同 可以取值的範圍double要比float大所佔記憶體位數也不同

32位機來講

float 佔 4位元組 double 佔8位元組隨便啦 一般的精度 float夠用了 不過大部分情況都宣告為double

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

減小錯誤

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

4樓:匿名使用者

都屬於浮點來數 也就

是小數源

但精度不同 可以bai取值的範圍dudouble要比float大所佔記憶體位數也不zhi同

32位機來講

float 佔 4位元組

dao double 佔8位元組

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

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

減小錯誤

5樓:匿名使用者

float double在c語言當中都抄是浮點數它們之間區別就是精度不同

double 精度為最高15位 小數點後6位float 精度為最高6,7位小數點後6位所佔位元組數自然也不相同 一般環境中double佔float兩倍空間

c語言中float和double的區別!

6樓:隨便什麼名啦啦

區別: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++中表示實型變數的一種變數型別。

7樓:艾素延可可

double與float的區別在於在

記憶體中存放資料時占用的記憶體不一樣,前者8

位元組,後者4位元組,也就是前者儲存的小數

位數比後者多一倍。舉例說明對於1.9999996666,按照float輸出,結果可能為1.

999999,如果按照double可能為1.999999,這是為什麼,因為c語言預設輸出小數字數都取6位,這時候看起來沒有區別,但是如果你進行格式控制,比如使用%.10,即小數保留10位,float輸出結果為1.

9999990000,而double輸出結果則為1.9999996666。

8樓:陰叡多尋芹

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

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

對程式設計人員來說,double

和float的區別是double精高,有效數字16位,float精度7位。但double消耗記憶體是float的兩倍,double的運算速度比float慢得多,c語言中數學函式名稱double

和float不同,不要寫錯,能用單精度時不要用雙精度(以省記憶體,加快運算速度)。

9樓:趙飆茂俊艾

數值範圍不一樣,double的範圍比float的範圍廣,還有佔位元組不一樣.而且double的精度要比float高,但是通常我們都用float,就好像我們定義整形變數是通常使用int而不是unsigned一樣。為的是讓計算機進行的計算的速度快點!

10樓:緱盛戚夜綠

沒什麼區別,就是乙個精度低一點乙個精度高一點,float是八位實數,double是十六位實數

11樓:斛載葛代雙

這個是它們的代表位數不一樣,長度不一樣就是他們的區別是最大的,

12樓:匿名使用者

float為單精度,佔4位元組(32位)的記憶體空間,它的數值有效範圍是-10的38次方到10的38次方,只表示7位有效數字。而double為雙精度,8位元組,正負10的308次方之間,能精確到16位。這應該就是他們的的最基本的區別吧。。。

13樓:

float的有效數字是六到七位 32位元

double的有效數字是十五到十六位 64位元

14樓:鄺筱詹綺云

精度不同,float是單精度,double為雙精度

15樓:匿名使用者

請您花至少乙個星期的時間閱讀ieee754的標準,這裡講不清楚的。

16樓:匿名使用者

totem01

回答的比較好

17樓:劉靈將睿明

double、float都是浮點型。double(雙精度型)比float(單精度型)存的資料更準確些,佔的空間也更大。double精度是float的兩倍,所以需要更精確的計算常使用double。

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

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

浮點數在機內用指數型式表示,分解為:數符,尾數,指數符,指數四部分。

數符佔1位二進位制,表示數的正負。

指數符佔1位二進位制,表示指數的正負。

尾數表示浮點數有效數字,0.******x,但不存開頭的0和點

指數存指數的有效數字。

指數佔多少位,尾數佔多少位,由計算機系統決定。

可能是數符加尾數佔24位,指數符加指數佔8位

--float.

數符加尾數佔48位,指數符加指數佔16位

--double.

知道了這四部分的佔位,按二進位制估計大小範圍,再換算為十進位制,就是你想知道的數值範圍。

對程式設計人員來說,double

和float

的區別是double精度高,有效數字16位,float精度7位。但double消耗記憶體是float的兩倍,double的運算速度比float慢得多,c語言中數學函式名稱double

和float不同,不要寫錯,能用單精度時不要用雙精度(以省記憶體,加快運算速度)。

c語言float和double的區別

18樓:育知同創教育

c語言float和double的區別 :float單精度,double雙精度

19樓:戮塵小子

輸出時float型保留六位有效位,而double型能保留十五位

20樓:高貴冷豔劉

float單精度,可儲存少量小數點,double雙精度,可儲存大量小數點。。double比較占用記憶體。。1.

54這一類可以用float,如果比較多,如0.45662156建議double

21樓:匿名使用者

浮點型別和雙精度型別

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

22樓:碧血玉葉花

c語言中 單精度型

和bai雙精度型 指兩種du 型別 的 浮點數zhi

。單精度型dao 即回 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);

強制轉換 要帶 小括號。

23樓:某某匿名網友

sizeof(float)是4,sizeof(double)是8,精度高,有效數字多

c語言中float與double的區別是什麼

24樓:賀金蘭陽靜

float一般用於平常的小數,但double由於有效位數和指數範圍都比效廣所以一般用來表示比較精確的小數或者比較大的數(無法用long來表示的)如:1.121324328947893275973249,

幾百億上千億等等

25樓:允秋芹敏姬

double的位數是float的2倍,float16位,

double

32位,都是浮點小數,所以double所能表示的數字範圍就大得多。

26樓:系傅香拱賦

float是浮點型資料,double的精度是float的兩倍,double一般用於精度要求較高的科學計算,float用於一般的數學計算!如果對於精度要求較高的運算,採用float則會降低精度!

27樓:隆印枝蘭凰

簡單而專業的說就是float是單精度浮點。double是雙精度浮點。。這樣應該很好理解

28樓:桐軍夷婉麗

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有什麼區別?

29樓:圭時芳哈霜

float單精度浮點型,只有7個有效數字,七位之後的系統自動給為無效數字;而double雙精度浮點型

則是15到16位有效數字。

c語言中float和double的區別

隨便什麼名啦啦 區別 1 精度不一樣,float是單精度,double是雙精度 2 表示小數的範圍不一樣,double能表示的範圍比float大 3 double在記憶體中,佔8個位元組,float在記憶體中,佔4個位元組。float 浮點型資料型別,float 資料型別用於儲存單精度浮點數或雙精度...

C語言的問題,關於double和float的區別

型別 位元數 有效數字 數值範圍 float 32 6 7 3.4 10 38 3.4 10 38 double 64 15 16 1.7 10 308 1.7 10 308 long double 128 18 19 1.2 10 4932 1.2 10 4932 double是雙精度浮點數,fl...

c語言中double和float型資料的表現形式

雙精度浮點 double 型,佔8 個位元組 64位 記憶體空間。其數值範圍為1.7e 308 1.7e 308,雙精度完全保證的有效數字是15位,16位只是部分數值 而單精度保證7位有效數字,部分數值有8位有效數.c 標準要求 float 型別至少要能精確表示到小數點後6位,並且整數部分的表示範圍...