'C++' std::log, std::logf, std::logl

토스트·2025년 2월 20일

'C++' std::cmath

목록 보기
5/10

log

template<class Integer>
double log(Integer num); // constexpr since C++26

~ C++23

float log(float num);

double log(double num);

long double log(double num);

C++23 ~

/*floating-point-type*/ log(/*floating-point-type*/ num);

: 밑이 e인 진수(num)의 지수를 반환하는 함수입니다.

logf

float logf(float num); // constexpr since C++26

: 밑이 e인 진수(num)의 지수를 float 타입으로 반환하는 함수입니다.

logl

long double logl(long double num); // constexpr since C++26

: 밑이 e인 진수(num)의 지수를 long double 타입으로 반환하는 함수입니다.

loge(num)log_e(num) = ln(num)ln(num)

  • num : 진수 값

<example>

#include <iostream>
#include <cmath>

using namespace std;

int main() {
	cout << log(1) << endl;

	cout << log(exp(1)) << endl;

	cout << log(-1);
	
	return 0;
}

결과값

-nan(ind)
nan은 Not a Number의 약자로, 부동소수점값이 컴퓨터가 허용하는 값이 아닐 때 출력됩니다.
ind는 indeterminate의 약자로, "정의되지 않음" 또는 "무한정 불확실한 값"을 나타냅니다.
즉, -nan(ind)음수와 관련된 부동소수점으로 표현할 수 없는 정의되지 않은 값을 의미합니다.
실제로, ln(1)=ln(eiπ)=iπln(-1) = ln(e^{iπ}) = iπ으로 복소수 영역을 고려해야합니다.

0개의 댓글