问答详情
源自:6-10 练习题

float和double有什么区别?精度各是多少?有效数学是什么意思?

谢谢,会采纳。

提问者:给我一杯咖啡 2016-11-15 22:28

个回答

  • 强大的肥猫
    2016-11-16 11:40:22
    已采纳

    double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。
      类型 比特数 有效数字 数值范围
      float 32 6-7 -3.4*10(-38)~3.4*10(38)
      double 64 15-16 -1.7*10(-308)~1.7*10(308)
      long double 128 18-19 -1.2*10(-4932)~1.2*10(4932)
      简单来说,Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我的电脑且VC++6.0平台中默认显示是6位有效数字;double为双精度,占8个字节,有效数位是16位,但在我的电脑且VC++6.0平台中默认显示同样是6位有效数字。



    有效数字;具体地说,是指在分析工作中实际能够测量到的数字。能够测量到的是包括最后一位估计的,不确定的数字。 我们把通过直读获得的准确数字叫做可靠数字;把通过估读得到的那部分数字叫做存疑数字。把测量结果中能够反映被测量大小的带有一位存疑数字的全部数字叫有效数字。如图中测得物体的长度5.15cm。数据记录时,我们记录的数据和实验结果真值一致的数据位便是有效数字;另外在数学中,有效数字是指在一个数中,从该数的第一个非零数字起,直到末尾数字止的数字称为有效数字,如0.618的有效数字有三个,分别是6,1,8。