Microsoft는 일반적인 수학 상수에 대해 미리 정의된 여러 전처리기 매크로를 제공합니다.
구문
#define _USE_MATH_DEFINES // for C++
#include <cmath>
#define _USE_MATH_DEFINES // for C
#include <math.h>
설명
지정된 식의 값에 대해 다음 기호가 정의됩니다.
| 기호 | 식 | 값 |
|---|---|---|
M_E |
e | 2.71828182845904523536 |
M_LOG2E |
log2(e) | 1.44269504088896340736 |
M_LOG10E |
log10(e) | 0.434294481903251827651 |
M_LN2 |
ln(2) | 0.693147180559945309417 |
M_LN10 |
ln(10) | 2.30258509299404568402 |
M_PI |
pi | 3.14159265358979323846 |
M_PI_2 |
pi/2 | 1.57079632679489661923 |
M_PI_4 |
pi/4 | 0.785398163397448309616 |
M_1_PI |
1/pi | 0.318309886183790671538 |
M_2_PI |
2/pi | 0.636619772367581343076 |
M_2_SQRTPI |
2/sqrt(pi) | 1.12837916709551257390 |
M_SQRT2 |
sqrt(2) | 1.41421356237309504880 |
M_SQRT1_2 |
1/sqrt(2) | 0.707106781186547524401 |
표준 C 및 C++는 이러한 수학 상수로 정의하지 않습니다. 이를 사용하려면 정의 _USE_MATH_DEFINES 및 포함 <cmath> 또는 <math.h>. 사용하는 /Zc:cmath_USE_MATH_DEFINES 경우 아무런 효과가 없습니다. 가능하면 헤더의 상수 사용 <numerics> 그렇지 않으면 이러한 수학 상수와 함께 /Zc:cmath사용하려면 직접 포함합니다 <corecrt_math_defines.h>.
이 파일에 <ATLComTime.h> 는 프로젝트가 릴리스 모드로 빌드된 경우가 포함됩니다 <math.h> . 프로젝트에 포함된 <ATLComTime.h>수학 상수 중 하나 이상을 사용하는 경우 포함_USE_MATH_DEFINES하기 전에 정의 <ATLComTime.h> 해야 합니다.