float與double的區(qū)別在于變量類型不同、指數(shù)范圍不同、表達(dá)式指數(shù)位不同、占用內(nèi)存空間不同、有效數(shù)字位數(shù)不同、在程序中處理速度不同。float屬于單精度型浮點(diǎn)數(shù)據(jù),指數(shù)范圍為-127~128;double屬于雙精度型浮點(diǎn)數(shù)據(jù),指數(shù)范圍為-1023~1024。
float與double的區(qū)別介紹
1、兩者變量類型不同
float屬于單精度型浮點(diǎn)數(shù)據(jù)。
double屬于雙精度型浮點(diǎn)數(shù)據(jù)。
2、兩者指數(shù)范圍不同
float的指數(shù)范圍為-127~128。
double的指數(shù)范圍為-1023~1024。
3、兩者表達(dá)式指數(shù)位不同
float的表達(dá)式為1bit(符號位)+8bits(指數(shù)位)+23bits(尾數(shù)位)
double的表達(dá)式為1bit(符號位)+ 11bits(指數(shù)位)+ 52bits(尾數(shù)位)
4、兩者占用存空間不同
float占4個字節(jié)(32位)內(nèi)存空間,其數(shù)值范圍為3.4E-38~3.4E+38。
double占8個字節(jié)(64位)內(nèi)存空間,其數(shù)值范圍為1.7E-308~1.7E+308。
5、兩者有效數(shù)字位數(shù)不同
float只能提供8位有效數(shù)字。
double可提供16位有效數(shù)字。
6、在程序中處理速度不同
一般來說,CPU處理單精度浮點(diǎn)數(shù)的速度比處理雙精度浮點(diǎn)數(shù)快,如果不聲明,默認(rèn)小數(shù)為double類型,因此,如果要用float的話,必須進(jìn)行強(qiáng)轉(zhuǎn)。