float和double的區(qū)別在于:變量類型不同、指數(shù)范圍不同、表達式指數(shù)位不同、占用內(nèi)存空間不同以及有效位數(shù)不同。其中float數(shù)據(jù)類型用于存儲單精度浮點數(shù)或雙精度浮點數(shù),而double即雙精度浮點型使用64位來儲存一個浮點數(shù)。
一、float和double的含義介紹
float即單精度浮點型,用于存儲單精度浮點數(shù)或雙精度浮點數(shù)。浮點數(shù)使用 IEEE格式。浮點類型的單精度值具有 4 個字節(jié),包括一個符號位、一個8位二進制指數(shù)和一個23位尾數(shù)。由于尾數(shù)的高順序位始終為1,因此它不是以數(shù)字形式存儲的。此表示形式為 float 類型提供了一個大約在 -3.4E+38 ~ 3.4E+38 之間的范圍。
而double即雙精度浮點型,它是計算機使用的一種資料型別,比起float,double使用 64 位 來儲存一個浮點數(shù)。 它可以表示十進制的15或16位有效數(shù)字,負值取值范圍為 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范圍為 4.94065645841246544E-324 到 1.797693E+308。
二、float和double的區(qū)別
1、變量類型不同
float屬于單精度型浮點數(shù)據(jù),double屬于雙精度型浮點數(shù)據(jù)。
2、指數(shù)范圍不同
float的指數(shù)范圍為-127~128,double的指數(shù)范圍為-1023~1024。
3、表達式指數(shù)位不同
float的表達式為1bit(符號位)+8bits(指數(shù)位)+23bits(尾數(shù)位);double的表達式為1bit(符號位)+ 11bits(指數(shù)位)+ 52bits(尾數(shù)位)。
4、占用內(nèi)存空間不同
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ù)不同
float只能提供七位有效數(shù)字,double可提供16位有效數(shù)字。