C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のMath.Log()メソッドの使い方を徹底解説

C#のMath.Log()メソッドは、指定された数値の対数を返すために使用される静的メソッドです。引数を1つだけ渡した場合は自然対数(底e)が計算され、2つ目の引数で底を指定することもできます。

構文

public static double Log(double num)
public static double Log(double num, double base)

上記の構文における各要素の意味は以下の通りです。

  • num:対数を計算する対象となる数値
  • base:対数の底(基数)。省略した場合は自然対数(底e)が計算されます

なお、引数に負の数やNaNを渡した場合、戻り値はNaN(非数)になります。

使用例1:正の数と負の数の場合

まず、Math.Log()メソッドを使った基本的な例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        double val1 = 2.15;
        double val2 = -2.15;
        Console.WriteLine(Math.Log(val1));
        Console.WriteLine(Math.Log(val2));
    }
}

出力

このプログラムを実行すると、次のような出力が得られます。

0.765467842139571
NaN

この結果から、正の数「2.15」の自然対数は約0.7654と正常に計算される一方、負の数「-2.15」に対してはNaNが返されていることがわかります。これは、実数の範囲では負の数の対数が定義されていないためです。

使用例2:無限大の場合

続いて、正負の無限大を引数に渡した場合の挙動を確認してみましょう。

using System;
public class Demo {
    public static void Main(){
        double val1 = Double.PositiveInfinity;
        double val2 = Double.NegativeInfinity;
        Console.WriteLine(Math.Log(val1));
        Console.WriteLine(Math.Log(val2));
    }
}

出力

このプログラムを実行すると、次のような出力が得られます。

∞
NaN

正の無限大(Double.PositiveInfinity)を渡した場合は対数も正の無限大として返されますが、負の無限大(Double.NegativeInfinity)を渡した場合は定義できないためNaNが返されます。

まとめ

  • Math.Log()は指定した数値の対数を返すメソッドで、底を省略すると自然対数になる
  • 負の数やNaNを渡すと戻り値はNaNになる
  • 正の無限大を渡すと正の無限大、負の無限大を渡すとNaNが返る
  1. C#のMath.Log10()メソッドの使い方を徹底解説!常用対数の計算方法と戻り値一覧

    Math.Log10()メソッドとはC#のMath.Log10()メソッドは、指定された数値の常用対数(底が10の対数)を計算して返す静的メソッドです。科学技術計算や桁数の判定、スケール変換など、さまざまな場面で活用されます。構文public static double Log10 (double val);パラメータ val には、対数を求めたい対象の数値をdouble型で指定します。戻り値の一覧Math.Log10()メソッドは、引数に渡した値によって以下のような結果を返します。valパラメータの値戻り値正の数底10の対数(log₁₀ d)ゼロNegativeInfinity(負の無限大)

  2. C#のMath.IEEERemainder()メソッドとは?使い方と実行例を解説

    C#のMath.IEEERemainder()メソッドは、指定した数値(被除数)を別の数値(除数)で除算した結果の剰余を、IEEE 754規格に基づいて返す静的メソッドです。通常の剰余演算子「%」とは計算結果が異なる場合がある点に注意しましょう。構文public static double IEEERemainder (double dividend, double divisor);パラメータdividend:被除数(割られる数)を表す倍精度浮動小数点数。divisor:除数(割る数)を表す倍精度浮動小数点数。戻り値dividend を divisor で割ったIEEE剰余を返します。この剰