표준 라이브러리에서는 다양한 수학 함수를 제공한다. 프로그래밍을 하다 보면 수학 함수를 쓸 일이 많다. <cmath>
헤더 파일을 이용하면 삼각 함수, 지수 함수, 로그 함수 같은 수식을 수비게 사용할 수 있다. 자주 사용하는 수학 함수를 보면 다음과 같다.
함수 | 설명 |
---|---|
abs | 절대값 반환 |
sqrt | 제곱근 반환 |
pow | 거듭제곱 계산 |
exp | 지수 함수 (e^x) 계산 |
log | 자연 로그 계산 |
sin, cos, tan | 삼각 함수 계산 |
asin, acos, atan | 역삼각 함수 계산 |
ceil | 올림 계산 |
floor | 내림 계산 |
round | 반올림 계산 |
더 많은 수학 함수는 <cmath>
헤더 소개에서 확인할 수 있다. 참고로 원주율 파이
를 나타내는 상수 numbers::pi
는 c++20
부터 사용할 수 있다.
#include <iostream>
#include <cmath>
#include <numbers>
using namespace std;
int main()
{
double x = 2;
double y = 3;
cout << "x = " << x << ", " << "y = " << y << endl;
cout << "pow(x, y) = " << pow(x, y) << endl;
cout << "sqrt(x) = " << sqrt(x) << endl;
cout << "log(x) = " << log(x) << endl;
cout << "exp(x) = " << exp(x) << endl;
cout << endl;
x = 2.575;
y = -9.132;
cout << "x = " << x << ", " << "y = " << y << endl;
cout << "ceil(x) = " << ceil(x) << ", ceil(y) = " << ceil(y) << endl;
cout << "floor(x) = " << floor(x) << ", floor(y) = " << floor(y) << endl;
cout << "round(x) = " << round(x) << ", round(y) = " << round(y) << endl;
cout << "trunc(x) = " << trunc(x) << ", trunc(y) = " << trunc(y) << endl;
cout << "abs(x) = " << abs(x) << ", abs(y) = " << abs(y) << endl;
cout << endl;
cout << "PI = " << numbers::pi << endl;
cout << "sin(PI/3) = " << sin(numbers::pi / 3) << endl;
cout << "cos(PI/3) = " << cos(numbers::pi / 3) << endl;
cout << "tan(PI/3) = " << tan(numbers::pi / 3) << endl;
return 0;
}
실행 결과
x = 2, y = 3
pow(x, y) = 8
sqrt(x) = 1.41421
log(x) = 0.693147
exp(x) = 7.38906
x = 2.575, y = -9.132
ceil(x) = 3, ceil(y) = -9
floor(x) = 2, floor(y) = -10
round(x) = 3, round(y) = -9
trunc(x) = 2, trunc(y) = -9
abs(x) = 2.575, abs(y) = 9.132
PI = 3.14159
sin(PI/3) = 0.866025
cos(PI/3) = 0.5
tan(PI/3) = 1.73205