double(双精度浮点型)和float(单精度浮点型)的区别是什么
既然是单精度,双精度,顾名思义,就是双的比单的精确度要高,哈哈开个玩笑;单精度实数在内存中占32bit 有效数字为6~7位,双精度实数占内存单元为64bit 有效数字为15~16位,没有说明时,实型常量是作为双精度处理的,若要使用单精度需在后面加上字母f或F,如123.45f。。。。。double能够表示的小数点的位数更多,更精确,个人意见不喜勿喷,谢谢
为什么单精度 float height=175.2f 要加f?
双精度 double price=120.5 不用加d?
(1)在内存中占有的字节数不同
单精度浮点数在机内占4个字节
双精度浮点数在机内占8个字节
(2)有效数字位数不同
单精度浮点数有效数字8位
双精度浮点数有效数字16位
(3)所能表示数的范围不同
单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38
双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308
(4)在程序中处理速度不同
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快