问答详情
源自:2-6 Java中的数据类型

double(双精度浮点型)和float(单精度浮点型)的区别是什么

double(双精度浮点型)和float(单精度浮点型)的区别是什么

提问者:杨彬2 2016-06-12 20:46

个回答

  • 二哥么么哒
    2016-06-12 20:52:02
    已采纳

    既然是单精度,双精度,顾名思义,就是双的比单的精确度要高,哈哈开个玩笑;单精度实数在内存中占32bit 有效数字为6~7位,双精度实数占内存单元为64bit 有效数字为15~16位,没有说明时,实型常量是作为双精度处理的,若要使用单精度需在后面加上字母f或F,如123.45f。。。。。double能够表示的小数点的位数更多,更精确,个人意见不喜勿喷,谢谢

  • 行恒
    2016-06-20 17:13:52

    为什么单精度 float height=175.2f  要加f?

    双精度 double price=120.5 不用加d?

  • 挪威没有春树
    2016-06-12 20:48:29

    (1)在内存中占有的字节数不同

    单精度浮点数在机内占4个字节

    双精度浮点数在机内占8个字节

    (2)有效数字位数不同

    单精度浮点数有效数字8位

    双精度浮点数有效数字16位

    (3)所能表示数的范围不同

    单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38

    双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308

    (4)在程序中处理速度不同
    一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快