我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

求大神解释 double16位,为何输出的不是?

#include"iostream"
#include"cstdio"
#include"cmath"
using namespace std;
int main()
{
double pi=4*atan(1.0);
cout<<pi<<endl;
printf("%lf\n",pi);
return 0;
}

为什么输出的是
3.14159
3.141593

double是16位并不代表double类型精确到小数点后16位。你想,三位二进制才能精确表示8中状态,16位的double小数点后精确到5、6位已经不错了。

double 和 float都有精确位数的,不记得了,自己去翻书吧

近期文章

  • js 执行cmd 命令 现在用js可以执行单条命令 怎么用js执行多条cmd命令呢
  • asp.net 网页中的布局
  • 关于分布式系统应用服务层的多线程
  • php删除xml中空节点问题?
  • 有micaps64位的安装包吗
  • android studio设置问题
  • maven安装出错,mvn -v报Bad Version
  • 求C++大神注释一下这个代码
  • java内部类 引用外部类对象this问题
  • 调用百度地图api抽象绘制游戏地图的问题
  • 新人学习,c++学习问题,求助!!!
  • 安卓做xml解析方面来配置界面的问题
  • socket通信收发错位的问题
  • 存不存在C#做界面,c++做算法?
  • A用户新增入库一条记录指定限B用户查阅,成功增加时,B用户无论在站任何页面都能立即听到语音提示。
  • 求教location定位不能运行
  • 二级。。。C语言。。。求大神
  • 如何查看SQL的日志文件
  • 请问这个生成二叉树的递归函数错在哪里
  • 我想知道这个单链表输入函数有什么错,总是跳出。。。

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华