先頭へ戻る

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

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(名前順)

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(ヘッダ別)

先頭へ戻る

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 のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー