如何在C/C++中使用pi (π) 值

在math.h有一个宏定义M_PI

#if defined _USE_MATH_DEFINES && !defined _MATH_DEFINES_DEFINED
    #define _MATH_DEFINES_DEFINED
    // Definitions of useful mathematical constants
    //
    // 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 or C++ standards
    #define M_E        2.71828182845904523536   // e
    #define M_LOG2E    1.44269504088896340736   // log2(e)
    #define M_LOG10E   0.434294481903251827651  // log10(e)
    #define M_LN2      0.693147180559945309417  // ln(2)
    #define M_LN10     2.30258509299404568402   // ln(10)
    #define M_PI       3.14159265358979323846   // pi
    #define M_PI_2     1.57079632679489661923   // pi/2
    #define M_PI_4     0.785398163397448309616  // pi/4
    #define M_1_PI     0.318309886183790671538  // 1/pi
    #define M_2_PI     0.636619772367581343076  // 2/pi
    #define M_2_SQRTPI 1.12837916709551257390   // 2/sqrt(pi)
    #define M_SQRT2    1.41421356237309504880   // sqrt(2)
    #define M_SQRT1_2  0.707106781186547524401  // 1/sqrt(2)
#endif

但是在math.h中默认并没有定义_USE_MATH_DEFINES,因此如果需要使用M_PI的话需要在引用Math.h前先定义_USE_MATH_DEFINES

例:

#include <iostream>
#define _USE_MATH_DEFINES
#include <math.h>


using namespace std;


void main()
{
	cout << M_PI << endl;
}

当然如果不想这样麻烦的可以自己直接在文件中对pi进行宏定义

猜你喜欢

转载自blog.csdn.net/oMoDao1/article/details/87691243