【问题标题】:Does the C++ Standard Library define pi?C++ 标准库是否定义了 pi?
【发布时间】:2013-02-19 09:30:21
【问题描述】:

STL 是否包含 pi (=3.14...) 的定义?当然,我可以使用旧好的M_PI,但它是非标准的,不兼容交叉编译器。

【问题讨论】:

标签: c++ std c++-standard-library pi


【解决方案1】:

Boost.Math 将 pi(和许多其他)数学常数定义为非常高精度

#include <boost/math/constants.hpp>
long double pi = boost::math::constants::pi<long double>();

完整列表可通过here获取。

【讨论】:

  • 如果你需要双精度,那么你可以像这样使用“无模板”常量:double pi = boost::math::double_constants::pi;。如果需要多个常量,可以使用namespace bmath = boost::math::double_constants; 之类的命名空间别名,然后引用bmath::pibmath::root_pi 等。
  • 在 boost 1.57 中包含实际上是&lt;boost/math/constants/constants.hpp&gt;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-21
  • 2018-10-18
  • 2012-03-14
  • 1970-01-01
  • 2016-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多