c++中的double是什么,有什么作用,煩舉一例。
狐的傳說(shuō)
2018-07-29 10:21:22
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
double是一種數(shù)據(jù)類型,用來(lái)聲明一個(gè)變量的類型。
比方說(shuō)你寫了一個(gè)字,為了告訴別人它是什么東西,它是一個(gè)漢字,你可以用“ 漢字 字;”這種格式來(lái)告訴別人那個(gè)字是個(gè)漢字。
同樣道理,C++中你想建立一個(gè)變量的時(shí)候,需要告訴編譯器變量的數(shù)據(jù)類型,以便編譯器給變量分配存儲(chǔ)空間。
格式:int i; 這是整型變量的聲明格式。
如果要聲明雙精度型變量,也就是小數(shù),相同道理
double i;
這樣編譯器就知道i是一個(gè)雙精度小數(shù)變量。
另外 float也表示小數(shù),是單精度小數(shù)。float和double的區(qū)別在于,float所允許的小數(shù)范圍小,double允許的小數(shù)范圍大。
追問(wèn)
Sorry?。。?我想問(wèn)一下,雙精度小數(shù)具體允許到小數(shù)點(diǎn)后幾位?既然雙精度允許范圍大,那是不是可以不用單精度的,它們各有什么優(yōu)勢(shì)? 先謝啦?。?!
追答
單雙精度小數(shù)不是按小數(shù)點(diǎn)后有幾位小數(shù)來(lái)區(qū)分的,而是按有效數(shù)字的不同。 float 有效數(shù)字7位,取值范圍從3.4E-38~3.4E+38。比方說(shuō)a=1111.11111111,因?yàn)橛行粩?shù)是7位,整數(shù)部分已占4位,則只有小數(shù)點(diǎn)后3位有效。 double 有效數(shù)字16位,取值范圍從1.7E-308~1.7E+308。例子和上面情況差不多,自己應(yīng)該能看出來(lái)。 另外,單精度在內(nèi)存中占4個(gè)字節(jié)的空間;而雙精度占8個(gè)字節(jié),在精度要求不高的情況下,為了節(jié)省內(nèi)存,采用float。
TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊
double 就是雙精度浮點(diǎn)數(shù)類型,定義一個(gè)double類型的變量可以這樣
double d;
舉報(bào)