log, logf, log10, log10f
로그값을 계산 합니다.
double log(
double x
);
float log(
float x
); // C++ only
long double log(
long double x
); // C++ only
float logf(
float x
);
double log10(
double x
);
float log10(
float x
); // C++ only
long double log10(
long double x
); // C++ only
float log10f (
float x
);
매개 변수
- x
값 로그가 찾을 수 하는 것입니다.
반환 값
해당 로그 함수 반환의 자연 (밑 e) x 성공할 경우.Log10 함수는 밑이 10 인 로그값을 반환합니다.경우 x 는 음수,이 함수는 제한 없이 기본적으로 반환 합니다.경우 x 0, (무한대) INF를 반환 하는 합니다.
입력 |
SEH 예외 |
Matherr 예외 |
---|---|---|
± QNAN, 찾기 |
없음 |
_DOMAIN |
± 0 |
ZERODIVIDE |
_SING |
x < 0 |
잘못 되었습니다. |
_DOMAIN |
로그 및 log10 스트리밍 SIMD 확장 2 (SSE2)을 사용 하 여 구현 했습니다.참조 하십시오 _set_SSE2_enable 에 대 한 정보와 SSE2 구현을 사용 하 여 제한 합니다.
설명
C + + 수 오버, 오버 로드를 호출할 수 있도록 로그 및 log10.C 프로그램에서 로그 및 log10 항상 사용 하 고 double을 반환 합니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
log, logf, log10,log10f |
<math.h> |
추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
라이브러리
모든 버전의 C 런타임 라이브러리.
예제
// 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 );
}
Output
log( 9000.00 ) = 9.104980
log10( 9000.00 ) = 3.954243
다른 밑에 대 한 로그를 생성 하려면 수학 관계식을 사용: 기본 b의 로그의 자연 로그 (a) = = / 자연 로그 (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);
}
Output
Log base 2 of 65536.000000 is 16.000000