PHPのlog10()関数とは?常用対数の計算方法と具体例をわかりやすく解説
定義と使用方法
log10() 関数は、数値の常用対数(底が10の対数)を計算するための関数です。
常用対数は「10を底とする対数」とも呼ばれ、log10x を求める際に使用されます。自然対数との間には、次のような関係式が成り立ちます。
log10x = logex / loge10
この式に基づけば、たとえば次のように計算できます。
log10100 = loge100 / loge10 = 2
PHPでは、この常用対数の計算を log10() 関数が担っています。
構文
log10 ( float $arg ) : float
パラメータ
| 番号 | パラメータと説明 |
|---|---|
| 1 | arg 常用対数(底10の対数)を計算したい数値を指定します。 |
戻り値
PHPの log10() 関数は、引数 arg の常用対数(底が10の対数)を float 型で返します。
対応するPHPバージョン
この関数は、PHP 4.x、PHP 5.x、PHP 7.x のすべてのバージョンで利用可能です。
使用例1:100の常用対数を計算する
次の例では、100の常用対数を計算しています。
<?php
$arg=100;
echo "log10(" . $arg. ")=" . log10($arg) . "\n";
?>
出力結果
上記のコードを実行すると、次の結果が出力されます。
log10(100)=2
使用例2:ネイピア数の常用対数を計算する
次のコードは、ネイピア数 M_E の常用対数を計算します。その結果は、PHPにあらかじめ定義されている定数 M_LOG10E の値と一致します。
<?php
$arg=M_E;
echo "log10(" . $arg. ")=" . log10($arg) . "\n";
echo "定義済み定数 M_LOG10E=" . M_LOG10E;
?>
出力結果
実行すると、次のように両者の値が一致していることが確認できます。
log10(2.718281828459)=0.43429448190325
定義済み定数 M_LOG10E=0.43429448190325
使用例3:0を指定した場合
log100 を計算しようとすると、数学的に定義できないため、この関数は -INF(負の無限大) を返します。
<?php
$arg=0;
echo "log10(" . $arg. ")=" . log10($arg) . "\n";
?>
出力結果
log10(0)=-INF
使用例4:NANを指定した場合
同様に、sqrt(-1) の結果は NAN(非数値)になります。そのため、それを log10() に渡した場合も NAN が返されます。
<?php
$arg=sqrt(-1);
echo "log10(" . $arg. ")=" . log10($arg) . "\n";
?>
出力結果
log10(NAN)=NAN
まとめ
log10() 関数を使えば、PHPで簡単に常用対数を計算できます。通常の正の数値に対しては対数値を返しますが、0を渡すと -INF、無効な数値(NAN)を渡すと NAN が返されるという点に注意しておきましょう。エラー処理を実装する際には、これらの特殊な戻り値への対応も考慮することをおすすめします。
-
PHPのlcg_value()関数とは?乱数生成の基本と使い方を解説
lcg_value()関数の定義と使い方lcg_value()関数は、0から1までの範囲でランダムな数値(浮動小数点数)を生成するPHP組み込み関数です。「LCG」とは「線形合同法(Linear Congruential Generator)」の略称です。この手法は、不連続な区分線形方程式を用いて擬似乱数列を計算するアルゴリズムで、擬似乱数生成アルゴリズムの中でも最も古くから知られているものの一つです。構文lcg_value ( void ) : floatパラメータこの関数は引数を受け取りません。戻り値lcg_value()関数は、0.0以上1.0以下の範囲にある擬似乱数のfloat値を返し
-
PHPのlog10()関数とは?構文・パラメータ・戻り値を実例つきで解説
PHPのlog10()関数は、指定した数値の常用対数(底が10の対数)を計算して返す組み込み関数です。数学的な処理や桁数の計算、スケール変換など、さまざまな場面で活用できます。 構文 log10(num) パラメータ num − 常用対数を求めたい数値を指定します。 戻り値 log10()関数は、引数に指定した数値の常用対数(底10の対数)を返します。 使用例1:基本的な使い方 まずは、log10(1) の結果を確認してみましょう。 <?php echo(log10(1)); ?> 出力 0 1の常用対数は必ず「0」になります。これは、10の0乗が1で