C++의 log() 함수란?
C/C++ 표준 라이브러리의 double log(double x) 함수는 인자로 전달된 값의 자연로그(natural logarithm), 즉 밑이 e인 로그를 반환합니다. 이 함수를 사용하려면 <cmath> 헤더 파일을 소스 코드에 포함해야 합니다.
함수 선언
double log(double x)
매개변수와 반환값
매개변수: x는 로그를 계산할 부동소수점(floating point) 값입니다. 수학적으로 로그는 양수에 대해서만 정의되므로, x는 반드시 0보다 큰 값이어야 합니다.
반환값: x의 자연로그 값을 double 형태로 반환합니다. 만약 x가 음수라면 도메인 오류(domain error)가 발생하며, x가 0이라면 극 오류(pole error)가 발생해 -∞가 반환될 수 있으므로 주의해야 합니다.
사용 예제
다음은 2.7의 자연로그를 계산하는 간단한 예제입니다.
#include <iostream>
#include <cmath>
using namespace std;
int main () {
double x, ret;
x = 2.7;
/* log(2.7) 계산 */
ret = log(x);
cout << "log(" << x << ") = " << ret;
return(0);
}
실행 결과
log(2.7) = 0.993252
위 예제를 실행하면 2.7의 자연로그인 약 0.993252가 출력되는 것을 확인할 수 있습니다.
참고 사항
만약 밑이 10인 상용로그(common logarithm)를 계산하고 싶다면 log10() 함수를 사용하면 됩니다. 또한 밑이 2인 로그가 필요한 경우에는 C++11부터 지원되는 log2() 함수를 활용할 수 있습니다. 로그 함수들은 과학 계산, 알고리즘 복잡도 분석, 데이터 스케일링 등 다양한 분야에서 널리 활용되므로 정확한 사용법을 숙지해 두는 것이 좋습니다.