猿问

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

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

我想在一些C ++程序中使用PI常量和三角函数。我得到了三角函数include <math.h>。但是,此头文件中似乎没有PI的定义。

如何在不手动定义PI的情况下获取PI?


胡说叔叔
浏览 989回答 3
3回答

富国沪深

在某些(特别是较旧的)平台上(请参阅下面的评论),您可能需要这样做#define&nbsp;_USE_MATH_DEFINES然后包含必要的头文件:#include&nbsp;<math.h>pi的值可以通过以下方式访问:M_PI在我math.h(2014年)中,它被定义为:#&nbsp;define&nbsp;M_PI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.14159265358979323846&nbsp;&nbsp;/*&nbsp;pi&nbsp;*/但请检查你math.h的更多。来自“旧”的摘录math.h(2009年):/*&nbsp;Define&nbsp;_USE_MATH_DEFINES&nbsp;before&nbsp;including&nbsp;math.h&nbsp;to&nbsp;expose&nbsp;these&nbsp;macro &nbsp;*&nbsp;definitions&nbsp;for&nbsp;common&nbsp;math&nbsp;constants.&nbsp;&nbsp;These&nbsp;are&nbsp;placed&nbsp;under&nbsp;an&nbsp;#ifdef &nbsp;*&nbsp;since&nbsp;these&nbsp;commonly-defined&nbsp;names&nbsp;are&nbsp;not&nbsp;part&nbsp;of&nbsp;the&nbsp;C/C++&nbsp;standards. &nbsp;*/然而:在较新的平台上(至少在我的64位Ubuntu 14.04上)我不需要定义&nbsp;_USE_MATH_DEFINES在(最近的)Linux平台上,还有long double作为GNU扩展提供的值:#&nbsp;define&nbsp;M_PIl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.141592653589793238462643383279502884L&nbsp;/*&nbsp;pi&nbsp;*/

杨__羊羊

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

绝地无双

您还可以使用boost,它为所请求的类型定义了具有最大精度的重要数学常量(即float vs double)。const&nbsp;double&nbsp;pi&nbsp;=&nbsp;boost::math::constants::pi<double>();查看增强文档以获取更多示例。
随时随地看视频慕课网APP
我要回答