float和double的區別是什么?威哥講java原創系列?章
1.1 內存中占有的字節數不同
單精度浮點數在內存中占有4個字節;
雙精度浮點數在內存中占有8個字節;
1.2 有效數字位數不同
單精度浮點數有效數字8位;
雙精度浮點數有效數字16位;
1.3 數值取值范圍不同
單精度浮點數的表示范圍:-3.40E+38~3.40E+38
雙精度浮點數的表示范圍:-1.79E+308~-1.79E+308
1.4 在程序中處理速度不同
?般來說,CPU處理單精度浮點數的速度?雙精度浮點數的速度快;
如果不聲明,默認?數是double類型,如果想?float,要進?強轉。
1. 舉例
float f = 1.3;會編譯報錯,正確的寫法是float f = (float)1.3;或者float a = 1.3f;(f或F都可以不區分??寫)
1. 注意
float是?位有效數字,第七位會四舍五?。