float和double区别?

时间:2021.08.18 发布人:nopq278

float和double区别?

已解决问题

谷歌nopq278用户在2021.08.18提交了关于“黑瞎子float和double区别?”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-12-10T15:19:33。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,真心佩服你,谢谢 !

希望以下的回答,能够帮助你。

第1个回答

用户名:匿名用户  

金主青杀讨排通马者的主要区别如下:

  01.在内存中占有的字节数不同

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

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

  02.有效数字位数不同

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

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

  住促消取切相该推别03.数值取值范围

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

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

  04.在程序中处理速度不同

    一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快

如果不声明,默认小数为double类型,所以如果要用float的话,课单游必须进行强转

  例如:floata=1.3;会编译报错,正确的写法floata=(flo绝at)1.3;或者floata=1.3f;(f或F都可以不区分大小写)

注意:float是8位有效数字,第7位数字将会四舍五入

面试题:

  1.j盟衣损互**a中3*0.1==0加深南步南音.3将会返回什么?true还是false?

   fale,因为浮点数不能完全精确的表示出来,一般会损失精度。

  2.j**a中floatf=3.4;是否正确?

  不正确,3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于向下转型会造  成精度损失,因此需要强制类型转换floatf=(floa牛t)3.4;或者写成flo联部秋细者atf=3.4f;才可道底获曾语适轻以。