首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在boost中定义multiprecision pi :multiprecision

在boost中定义multiprecision pi :multiprecision
EN

Stack Overflow用户
提问于 2015-06-25 23:23:48
回答 2查看 325关注 0票数 4

我需要π(3.1415...)在boost::multiprecision中以任意(但固定)精度表示。

正如在this answer中指出的那样,boost::math::constants中的常量仅定义为固定位数,因此我需要自己计算它。

因为我经常使用这个数字,并且有非常多的数字,所以我只想在运行时计算它一次。有什么简单而又快速的方法来拥有它呢?

我认为使用

代码语言:javascript
复制
typedef number<cpp_dec_float<PRECISION> > mpfloat;  // PRECISION is compile time.

const int PI = atan(mpfloat(1))*4;

但我不确定这是不是一种常见的习语。

EN

回答 2

Stack Overflow用户

发布于 2015-06-25 23:48:49

我建议将value of pi作为一个常量放入你的源代码中,你需要多少位就可以了。

票数 1
EN

Stack Overflow用户

发布于 2015-06-25 23:35:30

将其定义为结构中的静态对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31054507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档