Home C&C++函数库 c++ 语法 程序源码 Linux C库

log

函数  <cmath> <ctgmath>

C90 double log (double x);
C99 double log (double x);
float logf (float x );
long double logl (long double x);
C++98 double log (double x);
float log (float x );
long double log (long double x);
C++11 double log (double x);
float log (float x);
long double log (long double x);
double log (T x);        // additional overloads for integral types

计算自然对数
返回x的自然对数。
自然对数是以e为底的对数:自然指数函数(exp)的倒数。对于普通(以10为底)的对数,参见log10

C99 头文件<tgmath.h> 提供了该函数的泛型类型宏版本。
C++98 这个函数在<complex>和<valarray> 中重载(参见complex log和valarray log)。
C++11 这个头文件(<cmath>) 为整型提供了额外的重载:这些重载在计算之前将x转换为double (在T是任何整型时定义)。
这个函数在<complex>和<valarray> 中也重载(参见complex log和valarray log)。

☲  参数


x
要计算对数的值。
如果参数为负,则发生域错误。

☉  返回值



x的自然对数。
如果x是负的,它会导致域错误。
如果x为零,可能会导致极点错误(取决于库的实现)。

C90(C++98) 如果发生域错误,则将全局变量errno设置为EDOM。
如果发生极点错误,全局变量errno设置为ERANGE。
C99(C++11) 如果出现域错误:
-并且math_errhandling设置了MATH_ERRNO: 全局变量errno设置为EDOM.
-并且math_errhandling设置了MATH_ERREXCEPT: 触发 FE_INVALID.
如果出现极点错误:
-并且math_errhandling设置了MATH_ERRNO: 全局变量errno设置为 ERANGE.
-并且math_errhandling设置了MATH_ERREXCEPT: 触发 FE_DIVBYZERO.

☣  示例



/* log example */
#include <stdio.h>      /* printf */
#include <math.h>       /* log */

int main ()
{
  double param, result;
  param = 5.5;
  result = log (param);
  printf ("log(%f) = %f\n", param, result );
  return 0;
}

输出:
log(5.500000) = 1.704748

🍄  另请参阅



frexp 分解成有效位数和指数 (function )
log10 计算常用对数(function )
exp 计算指数函数(function )
pow 次幂(function )

联系我们 免责声明 关于CandCplus 网站地图