|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Defined in header <math.h> | ||
float log10f(float arg); | (1) | (since C99) |
double log10(double arg); | (2) | |
longdouble log10l(longdouble arg); | (3) | (since C99) |
Defined in header <tgmath.h> | ||
#define log10( arg ) | (4) | (since C99) |
log10l is called. Otherwise, ifarg has integer type or the typedouble,log10 is called. Otherwise,log10f is called.Contents |
| arg | - | floating-point value |
If no errors occur, the common (base-10) logarithm ofarg (log10(arg) orlg(arg)) is returned.
If a domain error occurs, an implementation-defined value is returned (NaN where supported).
If a pole error occurs,-HUGE_VAL,-HUGE_VALF, or-HUGE_VALL is returned.
Errors are reported as specified inmath_errhandling.
Domain error occurs ifarg is less than zero.
Pole error may occur ifarg is zero.
If the implementation supports IEEE floating-point arithmetic (IEC 60559),
#include <errno.h>#include <fenv.h>#include <float.h>#include <math.h>#include <stdio.h>// #pragma STDC FENV_ACCESS ON int main(void){printf("log10(1000) = %f\n", log10(1000));printf("log10(0.001) = %f\n", log10(0.001));printf("base-5 logarithm of 125 = %f\n", log10(125)/ log10(5)); // special valuesprintf("log10(1) = %f\n", log10(1));printf("log10(+Inf) = %f\n", log10(INFINITY)); // error handlingerrno=0;feclearexcept(FE_ALL_EXCEPT);printf("log10(0) = %f\n", log10(0));if(errno==ERANGE)perror(" errno == ERANGE");if(fetestexcept(FE_DIVBYZERO))puts(" FE_DIVBYZERO raised");}
Possible output:
log10(1000) = 3.000000log10(0.001) = -3.000000base-5 logarithm of 125 = 3.000000log10(1) = 0.000000log10(+Inf) = inflog10(0) = -inf errno == ERANGE: Numerical result out of range FE_DIVBYZERO raised
(C99)(C99) | computes natural (base-e) logarithm (\({\small \ln{x} }\)ln(x)) (function)[edit] |
(C99)(C99)(C99) | computes base-2 logarithm (\({\small \log_{2}{x} }\)log2(x)) (function)[edit] |
(C99)(C99)(C99) | computes natural (base-e) logarithm of 1 plus the given number (\({\small \ln{(1+x)} }\)ln(1+x)) (function)[edit] |
C++ documentation forlog10 | |