为了账号安全,请及时绑定邮箱和手机立即绑定

如何在C ++中使用PI常量

如何在C ++中使用PI常量

C++
胡说叔叔 2019-08-15 16:02:43
如何在C ++中使用PI常量我想在一些C ++程序中使用PI常量和三角函数。我得到了三角函数include <math.h>。但是,此头文件中似乎没有PI的定义。如何在不手动定义PI的情况下获取PI?
查看完整描述

3 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

在某些(特别是较旧的)平台上(请参阅下面的评论),您可能需要这样做

#define _USE_MATH_DEFINES

然后包含必要的头文件:

#include <math.h>

pi的值可以通过以下方式访问:

M_PI

在我math.h(2014年)中,它被定义为:

# define M_PI           3.14159265358979323846  /* pi */

但请检查你math.h的更多。来自“旧”的摘录math.h(2009年):

/* Define _USE_MATH_DEFINES before including math.h to expose these macro
 * definitions for common math constants.  These are placed under an #ifdef
 * since these commonly-defined names are not part of the C/C++ standards.
 */

然而:

  1. 在较新的平台上(至少在我的64位Ubuntu 14.04上)我不需要定义 _USE_MATH_DEFINES

  2. 在(最近的)Linux平台上,还有long double作为GNU扩展提供的值:

    # define M_PIl          3.141592653589793238462643383279502884L /* pi */


查看完整回答
反对 回复 2019-08-15
?
杨__羊羊

TA贡献1943条经验 获得超7个赞


Pi可以计算为atan(1)*4。你可以用这种方式计算值并缓存它。


查看完整回答
反对 回复 2019-08-15
?
绝地无双

TA贡献1946条经验 获得超4个赞

您还可以使用boost,它为所请求的类型定义了具有最大精度的重要数学常量(即float vs double)。

const double pi = boost::math::constants::pi<double>();

查看增强文档以获取更多示例。


查看完整回答
反对 回复 2019-08-15
  • 3 回答
  • 0 关注
  • 988 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信