Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++의 log() 함수 완벽 가이드: 자연로그 계산 방법

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() 함수를 활용할 수 있습니다. 로그 함수들은 과학 계산, 알고리즘 복잡도 분석, 데이터 스케일링 등 다양한 분야에서 널리 활용되므로 정확한 사용법을 숙지해 두는 것이 좋습니다.