log()、logf()、logl() - 自然対数の計算

標準

標準/拡張機能 C/C++ 依存項目

ISO C
POSIX.1
XPG4
XPG4.2
ISO/ANSI C++
C99
Single UNIX Specification、バージョン 3
C++ TR1 C99

両方  

形式

#include <math.h>

double log(double x);
float log(float x);                  /* C++ only */
long double log(long double x);      /* C++ only */
float logf(float x);
long double logl(long double x);

機能説明

x の自然対数 (基数 e) を計算します。ここで x は 0 よ り大。
注: これらの関数は、IEEE 2 進数浮動小数点形式と 16 進浮動小数点形式の両方で機能します。 IEEE 2 進数浮動小数点の詳細は、IEEE 2 進数浮動小数点を参照してください。

戻り値

計算値を戻します。

x が負の場合、関数は errno を EDOM に設定し、-HUGE_VAL を戻します。x が 0.0 の場合、関数は -HUGE_VAL を戻し、errno に ERANGE を設定します。正しい値がアンダーフローの原因になった場合には、0 が戻され、ERANGE の値が errno に保管されます。

IEEE の特殊な動作: x が 0 より大きい場合、関数は x の自然対数 (基数 e) を戻します。

x が負の場合、関数は errno を EDOM に設定し、NaNQ を戻します。x が 0.0 の場合、関数は -HUGE_VAL を戻し、errno は変更されません。
注: 環境変数 _EDC_SUSV3が 2 に設定されているときに、x が 0.0 の場合、この関数は -HUGE_VAL を戻し、errno に ERANGE を設定します。

CELEBL08
⁄* CELEBL08                                      
 
  This example calculates the natural logarithm of 1000.0.                     
                                                                                
 *⁄                                                                             
#include <math.h>                                                               
#include <stdio.h>                                                              
                                                                                
int main(void)                                                                  
{                                                                               
   double x = 1000.0, y;                                                        
                                                                                
   y = log(x);                                                                  
                                                                                
   printf("The natural logarithm of %lf is %lf¥n", x, y);                       
}                                                                               
出力:
The natural logarithm of 1000.000000 is 6.907755

関連情報