结果中小数的第16位 为什么有个1?源码如下:#include<stdio.h>int main(){ double a=3.1415926; printf("%.20f\n",a); return 0;}


我弄清楚了!虽然double类型数值范围是0和2.3E-308到1.7E308,但是有效数字只能有15位,所以15位之后就不能保证了。谢谢各位的回答,为了你们的采纳率,这个就不采纳了。

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 一桶冰水

    17人对此回答表示赞同

    展开
    17
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 小玲珑

    12人对此回答表示赞同

    这个正常,都有误差的,双精度比单精度误差要小,这跟实际存储的字节有关系,可以网上看看区别 追问
    展开
    12
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 木头老兄

    3人对此回答表示赞同

    计算机中否点数再cpu中表示成近似的一个数。如10.0可能是9.999999999999999999999999999999999999999999。
    我的理解是这样的。
    展开
    3
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部