我需要π(3.1415...)在boost::multiprecision中以任意(但固定)精度表示。
正如在this answer中指出的那样,boost::math::constants中的常量仅定义为固定位数,因此我需要自己计算它。
因为我经常使用这个数字,并且有非常多的数字,所以我只想在运行时计算它一次。有什么简单而又快速的方法来拥有它呢?
我认为使用
typedef number<cpp_dec_float<PRECISION> > mpfloat; // PRECISION is compile time.
const int PI = atan(mpfloat(1))*4;但我不确定这是不是一种常见的习语。
发布于 2015-06-25 23:48:49
我建议将value of pi作为一个常量放入你的源代码中,你需要多少位就可以了。
发布于 2015-06-25 23:35:30
将其定义为结构中的静态对象。
https://stackoverflow.com/questions/31054507
复制相似问题