1樓:匿名使用者
雙精度浮點(double)型,佔8 個位元組(64位)記憶體空間。其數值範圍為1.7e-308~1.
7e+308,雙精度完全保證的有效數字是15位,16位只是部分數值***,而單精度保證7位有效數字,部分數值有8位有效數.
c 標準要求 float 型別至少要能精確表示到小數點後6位,並且整數部分的表示範圍至少要達到 10-37 -- 10+37 。c 標準規定double 型別的整數部分的最小表示範圍和 float 一樣,都是 10-37 到 10+37,但是它要求 double 型別的小數部分至少要能精確到小數點後 10 位。
2樓:
程式中的表現形式是一樣的,比如2.13、2.23e2、4.5678e4等等這樣的資料可以是float也可以是double。
兩者的區別的在於占用的儲存空間不同,float一般是4個位元組,double一般是8個位元組。所以double能表示的數的範圍更大。
在計算機中儲存的形式類似,最高位是符號位,末幾位是指數字(指數字也是有符號的),中間是小數字。至於幾位指數字,幾位小數字則是編譯器決定。
3樓:逐夢兮樂
前者是雙精度,後者是單精度
請問c語言中的float和double型別有什麼區別?什麼叫做單精度和雙精度?
4樓:碧血玉葉花
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);
強制轉換 要帶 小括號。
5樓:某某匿名網友
sizeof(float)是4,sizeof(double)是8,精度高,有效數字多
c語言中實型資料,float和double,可以指哪些數?什麼是實型,???
6樓:大
實型資料分為實型常量和實型變數,在計算機中的實型數以浮點形式表示,實型常量既可以是實數,也可以是浮點數。如3.14159等。
實型變數分為單精度型(float)、雙精度型(double)和長雙精度型(long double)。實型可以說是實數。
7樓:匿名使用者
float和doule指的數一樣~~只不過進度不同、double高精度、float低精度、、實型就是指double和float型別的數
8樓:
實型變數分為:單精度(float型)、雙精度(double型)和長雙精度(long double型)三類。
a=33333.33333; b=33333.33333333333333;
由於a 是單精度浮點型,有效位數只有七位。而整數已佔五位,故小數二位後之後均為無效數字。
b 是雙精度型,有效位為十六位。但vc6.0規定小數後最多保留六位,其餘部分四捨五入。
注意:實型常數不分單、雙精度,都按雙精度double型處理。
在c語言中實數型別和浮點數型別實際上表示的是同乙個意思
c語言中float和double的區別!
9樓:隨便什麼名啦啦
區別: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++中表示實型變數的一種變數型別。
10樓:艾素延可可
double與float的區別在於在
記憶體中存放資料時占用的記憶體不一樣,前者8
位元組,後者4位元組,也就是前者儲存的小數
位數比後者多一倍。舉例說明對於1.9999996666,按照float輸出,結果可能為1.
999999,如果按照double可能為1.999999,這是為什麼,因為c語言預設輸出小數字數都取6位,這時候看起來沒有區別,但是如果你進行格式控制,比如使用%.10,即小數保留10位,float輸出結果為1.
9999990000,而double輸出結果則為1.9999996666。
11樓:陰叡多尋芹
單精度浮點數在機內佔4個位元組,用32位二進位制描述。
雙精度浮點數在機內佔8個位元組,用64位二進位制描述。
對程式設計人員來說,double
和float的區別是double精高,有效數字16位,float精度7位。但double消耗記憶體是float的兩倍,double的運算速度比float慢得多,c語言中數學函式名稱double
和float不同,不要寫錯,能用單精度時不要用雙精度(以省記憶體,加快運算速度)。
12樓:趙飆茂俊艾
數值範圍不一樣,double的範圍比float的範圍廣,還有佔位元組不一樣.而且double的精度要比float高,但是通常我們都用float,就好像我們定義整形變數是通常使用int而不是unsigned一樣。為的是讓計算機進行的計算的速度快點!
13樓:緱盛戚夜綠
沒什麼區別,就是乙個精度低一點乙個精度高一點,float是八位實數,double是十六位實數
14樓:斛載葛代雙
這個是它們的代表位數不一樣,長度不一樣就是他們的區別是最大的,
15樓:匿名使用者
float為單精度,佔4位元組(32位)的記憶體空間,它的數值有效範圍是-10的38次方到10的38次方,只表示7位有效數字。而double為雙精度,8位元組,正負10的308次方之間,能精確到16位。這應該就是他們的的最基本的區別吧。。。
16樓:
float的有效數字是六到七位 32位元
double的有效數字是十五到十六位 64位元
17樓:鄺筱詹綺云
精度不同,float是單精度,double為雙精度
18樓:匿名使用者
請您花至少乙個星期的時間閱讀ieee754的標準,這裡講不清楚的。
19樓:匿名使用者
totem01
回答的比較好
20樓:劉靈將睿明
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中的有效位?
21樓:匿名使用者
數值不一樣精度也不一樣,因為c中是以2進製儲存數值,轉成10進製時不定是6位還是7位這也跟不同的編譯器有關係,比如turb c 和vistrua c好像是不一樣的
22樓:匿名使用者
float單精度型,在記憶體中佔4個位元組(32位),有效數字是7位十進位制數字,
double雙精度型,在記憶體中佔8個位元組(64位),有效數字是15位十進位制數字
有效數字是7位十進位制數字,小數點算一位,小數點後6位
23樓:匿名使用者
和編譯器有關係的。 只要你知道 精確到那麼多位就行了,比如說大概要用10多個小數,最好就用double
24樓:匿名使用者
資料型別 位元組長度 取值範圍 有效位
float 4 1.0e-38~1.0e+38 7
double 8 1.0e-308~1.0e+308 15
25樓:匿名使用者
實踐出真知。
在我的機器上剛剛實驗了一下,float是6位,double是17位
c語言中的float和double型別有什麼區別?什麼叫做單精度和雙精度?
26樓:碧血玉葉花
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的區別
隨便什麼名啦啦 區別 1 精度不一樣,float是單精度,double是雙精度 2 表示小數的範圍不一樣,double能表示的範圍比float大 3 double在記憶體中,佔8個位元組,float在記憶體中,佔4個位元組。float 浮點型資料型別,float 資料型別用於儲存單精度浮點數或雙精度...
c語言中double是什麼意思
不咩 double在這裡是指將變數i和變數s定義為雙精度實型變數。也就是說 賦給這兩個變數的值將以雙精度實型格式儲存在記憶體中 注意事項 1 型別說明符和表示式都必須加括號 單個變數可以不加括號 如把 int x y 寫成 int x y則成了把x轉換成int型之後再與y相加了。2 無論是強制轉換或...
c語言中int型變數加上double型的變數
程振 會將int型別轉換成double型別再與double型別的變數相加。型別不一樣的數相加,首先將型別轉換成一樣的然後相加,轉換原則,短型別向長型別看齊,長短指在記憶體中所佔空間的長短 得出的結果是double型.這個不需要強制轉換的,系統會自動轉換的. double,計算時會自動轉化之doubl...