【发布时间】:2013-02-19 09:30:21
【问题描述】:
STL 是否包含 pi (=3.14...) 的定义?当然,我可以使用旧好的M_PI,但它是非标准的,不兼容交叉编译器。
【问题讨论】:
-
不。但你可以使用
acos(-1.0)或类似的东西
标签: c++ std c++-standard-library pi
STL 是否包含 pi (=3.14...) 的定义?当然,我可以使用旧好的M_PI,但它是非标准的,不兼容交叉编译器。
【问题讨论】:
acos(-1.0) 或类似的东西
标签: c++ std c++-standard-library pi
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::pi、bmath::root_pi 等。
<boost/math/constants/constants.hpp>