C言語編 標準ライブラリのリファレンス log2

先頭へ戻る

log2関数

概要 2 を底とする対数を求める
ヘッダ math.h
形式 double log2(double x);
引数 x 対象の値。
戻り値 引数x の 2 を定数とする対数。
詳細 2 を底とする対数を求める。
引数x が負数の場合は定義域エラーになる。その際の動作に関する詳細は、EDOMmath_errhandling を参照のこと。
引数x が 0 の場合は、戻り値は 0 となる。また、実装によっては値域エラーが発生することがある。その際の動作に関する詳細は、ERANGEmath_errhandling を参照のこと。
注意
使用例
#include <stdio.h>
#include <math.h>

int main(void)
{
    double x = 1.0 / 16.0;
    int i;

    for( i = 0; i < 8; ++i ){
        printf( "log2(%6.7g) = %f\n", x, log2(x) );
        x *= 2.0;
    }

    return 0;
}

実行結果

log2(0.0625) = -4.000000
log2( 0.125) = -3.000000
log2(  0.25) = -2.000000
log2(   0.5) = -1.000000
log2(     1) = 0.000000
log2(     2) = 1.000000
log2(     4) = 2.000000
log2(     8) = 3.000000
関連 float型版の log2f関数、long double型版の log2l関数がある。
また、自然対数を求める log関数、常用対数を求める log10関数がある。
解説章


参考リンク

更新履歴

'2018/4/21 「注意」の内容を「詳細」へ移動。C99以降で事情が変わっているので、定義域エラーや値域エラーに関する説明を他ページに譲るようにした。

'2018/4/10 「注意」を書きなおした。

'2018/1/22 新規作成。





標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ


このエントリーをはてなブックマークに追加
rss1.0 取得ボタン RSS