求助!C++怎么使用精确的PI(π)有没有类似java那种数学包?求教

CoderWill_Hunting 2016-10-23 05:28:55
程序中需要使用精确的π值,自己宏定义的不好使,得包含什么头文件还是需要下载什么东西才能使用啊?求教学~~~
...全文
718 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgl7903 2016-10-29
  • 打赏
  • 举报
回复
使用数学库的反正切 double pi = atan(1.0) * 4.0;
Saleayas 2016-10-29
  • 打赏
  • 举报
回复
Java 这么厉害了。
赵4老师 2016-10-29
  • 打赏
  • 举报
回复
仅供参考:
#include <stdio.h>
long a=10000;
long b;
long c=2800;
long d;
long e;
long f[2801];
long g;
int main() {
    for(;b-c;) f[b++]=a/5;
//  while (1) {
//      if (0==b-c) break;
//      f[b]=a/5;
//      b++;
//  }

    //f[0 - 2800] = 10000/5
    for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
          for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);
//  while (1) {
//      d=0;
//      g=c*2;
//      if (0==g) break;
//      b=c;
//      while (1) {
//          d+=f[b]*a;
//          f[b]=d%--g;
//          d/=g--;
//          --b;
//          if (0==b) break;
//          d*=b;
//      }
//      c-=14;
//      printf("%.4d",e+d/a);
//      e=d%a;
//  }

	return 0;
}
ooolinux 2016-10-28
  • 打赏
  • 举报
回复
long double类型的变量提供18位精度的小数位数 http://www.cnblogs.com/ma6174/archive/2012/02/04/2337958.html http://blog.sina.com.cn/s/blog_6ebd49350101gdgo.html 除非自定义类型及相关的运算方法(用数组来存储每一位数(小数))
本末SAMA 2016-10-28
  • 打赏
  • 举报
回复
#include <math.h>,用M_PI math.h里面有20位的π宏定义#define M_PI 3.14159265358979323846
xskxzr 2016-10-24
  • 打赏
  • 举报
回复
Java中有精确的π?我怎么不信呢……
sdghchj 2016-10-24
  • 打赏
  • 举报
回复
double itself is inaccurate
ooolinux 2016-10-24
  • 打赏
  • 举报
回复
引用 2 楼 u010165006 的回复:
精确到小数点后20位就可以了。
或者40位。自己写一个头文件,里面包含PI的声明,效果是一样的。
ooolinux 2016-10-23
  • 打赏
  • 举报
回复
精确到小数点后20位就可以了。
paschen 版主 2016-10-23
  • 打赏
  • 举报
回复
http://blog.csdn.net/himulakensin/article/details/8478224

65,199

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧