log, logf, logl, log10, log10f, log10llog, logf, logl, log10, log10f, log10l

로그를 계산합니다.Calculates logarithms.

구문Syntax

double log( double x );
float logf( float x );
long double logl( double x );
double log10( double x );
float log10f ( float x );
long double log10l( double x );
float log( float x );  // C++ only
long double log( long double x );  // C++ only
float log10( float x );  // C++ only
long double log10( long double x );  // C++ only

매개 변수Parameters

xx
로그가 있는 값입니다.Value whose logarithm is to be found.

반환 값Return Value

성공 하는 경우 로그 함수는 x 의 자연 로그 (밑 e)를 반환 합니다.The log functions return the natural logarithm (base e) of x if successful. Log10 함수는 상용 로그를 반환 합니다.The log10 functions return the base-10 logarithm. X 가 음수인 경우 이러한 함수는 기본적으로 무한 (IND)을 반환 합니다.If x is negative, these functions return an indefinite (IND), by default. X 가 0 이면 무한대 (INF)를 반환 합니다.If x is 0, they return infinity (INF).

입력Input SEH 예외SEH Exception Matherr 예외Matherr Exception
± QNAN, IND± QNAN, IND 없음none _DOMAIN_DOMAIN
± 0± 0 ZERODIVIDEZERODIVIDE _SING_SING
x < 0x < 0 INVALIDINVALID _DOMAIN_DOMAIN

로그LOG10 에는 SSE2 (스트리밍 SIMD 확장 2)를 사용 하는 구현이 있습니다.log and log10 have an implementation that uses Streaming SIMD Extensions 2 (SSE2). SSE2 구현의 사용 제한 사항 및 사용 방법에 대한 자세한 내용은 _set_SSE2_enable을 참조하세요.See _set_SSE2_enable for information and restrictions on using the SSE2 implementation.

설명Remarks

C + +에서는 오버 로드를 허용 하므로 float 또는 long double 값을 사용 하 고 반환 하는 로그log10 오버 로드를 호출할 수 있습니다.C++ allows overloading, so you can call overloads of log and log10 that take and return float or long double values. C 프로그램에서 loglog10 는 항상 double을 사용 하 고 반환 합니다.In a C program, log and log10 always take and return a double.

기본적으로이 함수의 전역 상태는 응용 프로그램으로 범위가 지정 됩니다.By default, this function's global state is scoped to the application. 이를 변경 하려면 CRT의 전역 상태를 참조 하세요.To change this, see Global state in the CRT.

요구 사항Requirements

루틴에서 반환된 값Routine 필수 헤더Required header
log, logf, logf, log10, log10f, log10llog, logf, logl, log10, log10f, log10l <math.h>

호환성에 대한 자세한 내용은 Compatibility을 참조하세요.For additional compatibility information, see Compatibility.

예제Example

// crt_log.c
/* This program uses log and log10
* to calculate the natural logarithm and
* the base-10 logarithm of 9,000.
*/

#include <math.h>
#include <stdio.h>

int main( void )
{
   double x = 9000.0;
   double y;

   y = log( x );
   printf( "log( %.2f ) = %f\n", x, y );
   y = log10( x );
   printf( "log10( %.2f ) = %f\n", x, y );
}
log( 9000.00 ) = 9.104980
log10( 9000.00 ) = 3.954243

다른 밑에 대한 로그를 생성하려면 수학적 관계 즉, a의 로그 밑 b == 자연 로그(a) / 자연 로그(b)를 사용합니다.To generate logarithms for other bases, use the mathematical relation: log base b of a == natural log (a) / natural log (b).

// logbase.cpp
#include <math.h>
#include <stdio.h>

double logbase(double a, double base)
{
   return log(a) / log(base);
}

int main()
{
   double x = 65536;
   double result;

   result = logbase(x, 2);
   printf("Log base 2 of %lf is %lf\n", x, result);
}
Log base 2 of 65536.000000 is 16.000000

참고 항목See also

부동 소수점 지원Floating-Point Support
exp, expf, explexp, expf, expl
_matherr_matherr
pow, powf, powlpow, powf, powl
_CIlog_CIlog
_CIlog10_CIlog10