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

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

1樓:匿名使用者

一個是單精度型別,一個是雙精度型別,有效數字和自動轉化等方面上都有區別

2樓:匿名使用者

float是浮點型 32位 輸入用%f

double是雙精度實型 64位 輸入用%lf

3樓:匿名使用者

float是浮點型

double是雙精度實型

4樓:與子如初見

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各代表什麼含義,有什麼區別?

5樓:匿名使用者

都屬於浮點來數 也就

是小數源

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

32位機來講

float 佔 4位元組

dao double 佔8位元組

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

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

減小錯誤

6樓:匿名使用者

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

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

c語言float和double的區別

7樓:育知同創教育

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

8樓:戮塵小子

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

9樓:高貴冷豔劉

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

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

10樓:匿名使用者

浮點型別和雙精度型別

c語言中float和double的區別!

11樓:隨便什麼名啦啦

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

12樓:艾素延可可

double與float的區別在於在

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

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

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

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

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

13樓:陰叡多尋芹

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

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

對程式設計人員來說,double

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

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

14樓:趙飆茂俊艾

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

15樓:緱盛戚夜綠

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

16樓:斛載葛代雙

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

17樓:匿名使用者

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

18樓:

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

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

19樓:鄺筱詹綺雲

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

20樓:匿名使用者

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

21樓:匿名使用者

totem01

回答的比較好

22樓:劉靈將睿明

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

23樓:圭時芳哈霜

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

則是15到16位有效數字。

24樓:督秀珍安念

float為4位元組,double為8位元組,所以double會比float更加精確(有效位數更多),算出來的結果更靠近真實值

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

25樓:溫墨徹堅亥

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

26樓:景秀花戴念

double雙精度實型變數。(也就是說:賦給這兩個變數的值將以雙精度實型格式

儲存在記憶體中)float單精度實型。

27樓:武秀雲謇夏

double比float型別的變數,儲存時,浮點數的範圍可以更大而已,

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

28樓:碧血玉葉花

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);

強制轉換 要帶 小括號。

29樓:某某匿名網友

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

C語言中實型資料,float和double,可以指哪些數?什麼是實型

大 實型資料分為實型常量和實型變數,在計算機中的實型數以浮點形式表示,實型常量既可以是實數,也可以是浮點數。如3.14159等。實型變數分為單精度型 float 雙精度型 double 和長雙精度型 long double 實型可以說是實數。 float和doule指的數一樣 只不過進度不同 dou...

c語言中float輸出的結果從左往右有效數字是6位,但是我編寫這個小程式後怎麼就只有3位有效?望高手解答

想要搞清楚這個問題,你需要了解float型別在記憶體中的儲存結構 符號位 指數 尾數 78.88在記憶體中的結構為 01000010 10011101 11000010 10001111 第一位為符號位,0 後面八位為指數位10000101 最後23位為尾數0011101 11000010 1000...

在c語言中intmain和intmainvoid有什麼區別

一般來將,void 就是空的意思,在這裡可以省略,int main void 可以看成 int main main 函式另一個重要的形式 是 int main int argc char argv 這個形式中 argc 是給main函式引數的個數,argv 中的成員就是相應的引數,看下面的例子就明白...