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が返る
-
C#のMath.Log10()メソッドの使い方を徹底解説!常用対数の計算方法と戻り値一覧
Math.Log10()メソッドとはC#のMath.Log10()メソッドは、指定された数値の常用対数(底が10の対数)を計算して返す静的メソッドです。科学技術計算や桁数の判定、スケール変換など、さまざまな場面で活用されます。構文public static double Log10 (double val);パラメータ val には、対数を求めたい対象の数値をdouble型で指定します。戻り値の一覧Math.Log10()メソッドは、引数に渡した値によって以下のような結果を返します。valパラメータの値戻り値正の数底10の対数(log₁₀ d)ゼロNegativeInfinity(負の無限大)
-
C#のMath.IEEERemainder()メソッドとは?使い方と実行例を解説
C#のMath.IEEERemainder()メソッドは、指定した数値(被除数)を別の数値(除数)で除算した結果の剰余を、IEEE 754規格に基づいて返す静的メソッドです。通常の剰余演算子「%」とは計算結果が異なる場合がある点に注意しましょう。構文public static double IEEERemainder (double dividend, double divisor);パラメータdividend:被除数(割られる数)を表す倍精度浮動小数点数。divisor:除数(割る数)を表す倍精度浮動小数点数。戻り値dividend を divisor で割ったIEEE剰余を返します。この剰