The log functions - log, logf, logl

自然対数 (loge) を計算します.

log

#include <math.h>
double log(
    double x
);

log 関数は自然対数 (loge) を計算し,double 型で返します.

logf (C99)

#include <math.h>
float logf(
    float x
);

logf 関数は自然対数 (loge) を計算し,float 型で返します.

logl (C99)

#include <math.h>
long double logl(
    long double x
);

logl 関数は自然対数 (loge) を計算し,long double 型で返します.

log,logf,logl 関数は,x が負の場合に定義域エラー (domain error) が発生します.また,x が 0 の場合に値域エラー (range error) が発生することがあります.

戻り値

  • logex の値

数学上の表記

log

C言語サンプルプログラム

以下にlog,logf,logl 関数それぞれを使用したサンプルプログラムを示します.

/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

/* main */
int main(void) {
    double d = 2.0, d_result;
    float f = 3.0, f_result;
    long double ld = 4.0L, ld_result;

    d_result = log(d);
    f_result = logf(f);
    ld_result = logl(ld);

    printf("log(%.1f) = %.8f\n", d, d_result);
    printf("logf(%.1f) = %.8f\n", f, f_result);
    printf("logl(%.1Lf) = %.8Lf\n", ld, ld_result);

    return EXIT_SUCCESS;
}

実行例

サンプルプログラムの実行結果は以下のようになります.

log(2.0) = 0.69314718
logf(3.0) = 1.09861231
logl(4.0) = 1.38629436