Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      log, logf, logl

      From cppreference.com
      <c‎ |numeric‎ |math
       
       
       
      Common mathematical functions
      Functions
      Basic operations
      (C99)
      (C99)
      (C99)
      (C99)(C99)(C99)(C23)
      Maximum/minimum operations
      (C99)
      (C99)
      Exponential functions
      (C23)
      (C99)
      (C99)
      (C23)
      (C23)

      log
      (C99)
      (C99)(C23)
      (C23)
      (C23)
      Power functions
      (C99)
      (C23)
      (C23)

      (C99)
      (C23)
      (C23)
      Trigonometric and hyperbolic functions
      (C23)
      (C23)
      (C23)
      (C23)
      (C99)
      (C99)
      (C99)
      Nearest integer floating-point
      (C99)(C99)(C99)
      (C23)(C23)(C23)(C23)
      Floating-point manipulation
      (C99)(C99)
      (C99)(C23)
      (C99)
      Narrowing operations
      (C23)
      (C23)
      (C23)
      (C23)
      (C23)
      (C23)
      Quantum and quantum exponent
      Decimal re-encoding functions
      Total order and payload functions
      Classification
      Error and gamma functions
      (C99)
      (C99)
      (C99)
      (C99)
      Types
      Macro constants
      Special floating-point values
      (C99)(C23)
      Arguments and return values
      Error handling
      Fast operation indicators
       
      Defined in header<math.h>
      float       logf(float arg);
      (1)(since C99)
      double      log(double arg);
      (2)
      longdouble logl(longdouble arg);
      (3)(since C99)
      Defined in header<tgmath.h>
      #define log( arg )
      (4)(since C99)
      1-3) Computes the natural (basee) logarithm ofarg.
      4) Type-generic macro: Ifarg has typelongdouble,logl is called. Otherwise, ifarg has integer type or the typedouble,log is called. Otherwise,logf is called. Ifarg is complex or imaginary, then the macro invokes the corresponding complex function (clogf,clog,clogl).

      Contents

      [edit]Parameters

      arg - floating-point value

      [edit]Return value

      If no errors occur, the natural (base-e) logarithm ofarg (ln(arg) orloge(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.

      [edit]Error handling

      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),

      • If the argument is ±0, -∞ is returned andFE_DIVBYZERO is raised.
      • If the argument is 1, +0 is returned
      • If the argument is negative, NaN is returned andFE_INVALID is raised.
      • If the argument is +∞, +∞ is returned
      • If the argument is NaN, NaN is returned.

      [edit]Example

      Run this code
      #include <errno.h>#include <fenv.h>#include <float.h>#include <math.h>#include <stdio.h>// #pragma STDC FENV_ACCESS ON int main(void){printf("log(1) = %f\n", log(1));printf("base-5 logarithm of 125 = %f\n", log(125)/ log(5)); // special valuesprintf("log(1) = %f\n", log(1));printf("log(+Inf) = %f\n", log(INFINITY)); // error handlingerrno=0;feclearexcept(FE_ALL_EXCEPT);printf("log(0) = %f\n", log(0));if(errno==ERANGE)perror("    errno == ERANGE");if(fetestexcept(FE_DIVBYZERO))puts("    FE_DIVBYZERO raised");}

      Output:

      log(1) = 0.000000base-5 logarithm of 125 = 3.000000log(1) = 0.000000log(+Inf) = inflog(0) = -inf    errno == ERANGE: Numerical result out of range    FE_DIVBYZERO raised

      [edit]References

      • C23 standard (ISO/IEC 9899:2024):
      • 7.12.6.7 The log functions (p: TBD)
      • 7.25 Type-generic math <tgmath.h> (p: TBD)
      • F.10.3.7 The log functions (p: TBD)
      • C17 standard (ISO/IEC 9899:2018):
      • 7.12.6.7 The log functions (p: 178-179)
      • 7.25 Type-generic math <tgmath.h> (p: 272-273)
      • F.10.3.7 The log functions (p: 380)
      • C11 standard (ISO/IEC 9899:2011):
      • 7.12.6.7 The log functions (p: 244-245)
      • 7.25 Type-generic math <tgmath.h> (p: 373-375)
      • F.10.3.7 The log functions (p: 522)
      • C99 standard (ISO/IEC 9899:1999):
      • 7.12.6.7 The log functions (p: 225)
      • 7.22 Type-generic math <tgmath.h> (p: 335-337)
      • F.9.3.7 The log functions (p: 459)
      • C89/C90 standard (ISO/IEC 9899:1990):
      • 4.5.4.4 The log function

      [edit]See also

      computes common (base-10) logarithm (\({\small \log_{10}{x} }\)log10(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]
      (C99)(C99)
      computese raised to the given power (\({\small e^x}\)ex)
      (function)[edit]
      (C99)(C99)(C99)
      computes the complex natural logarithm
      (function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/numeric/math/log&oldid=172042"

      [8]ページ先頭

      ©2009-2025 Movatter.jp