两者的主要区别如下:
1、在内存中占有的字节数不同:单精度浮点数在机内存占4个字节,双精度浮点数在机内存占8个字节。
2、有效数字位数不同:单精度浮点数有效数字8位,双精度浮点数有效数字16位。
3、数值取值范围:单精度浮点数的表示范围: -3.40E+38~3.40E+38,双精度浮点数的表示范围: -1.79E+ 308~-1.79E+308。
4、在程中处理速度不同:一般来说, CPU处理单精度浮点数的速度比处理双精度浮点数快,如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转。