C#のMath.IEEERemainder()メソッドとは?使い方と実行例を解説
C#のMath.IEEERemainder()メソッドは、指定した数値(被除数)を別の数値(除数)で除算した結果の剰余を、IEEE 754規格に基づいて返す静的メソッドです。通常の剰余演算子「%」とは計算結果が異なる場合がある点に注意しましょう。
構文
public static double IEEERemainder (double dividend, double divisor);
パラメータ
- dividend:被除数(割られる数)を表す倍精度浮動小数点数。
- divisor:除数(割る数)を表す倍精度浮動小数点数。
戻り値
dividend を divisor で割ったIEEE剰余を返します。この剰余は、商が最も近い整数になるように計算されるため、結果が負の値になることがあります。また、divisor が 0 の場合は NaN(非数)が返されます。
Math.IEEERemainder()メソッドの使用例
例1:基本的な剰余の計算
using System;
public class Demo {
public static void Main(){
double val1 = 90;
double val2 = 7;
// IEEE剰余を計算
var rem = Math.IEEERemainder(val1, val2);
Console.WriteLine(rem);
}
}出力結果
上記のコードを実行すると、次の出力が得られます。
-1
90 ÷ 7 の商に最も近い整数は13であり、90 − 13 × 7 = −1 となるため、結果は「-1」になります。通常の剰余演算子「%」では結果が「6」になるため、両者の違いに注意してください。
例2:除数が0の場合
using System;
public class Demo {
public static void Main(){
double val1 = 1;
double val2 = 0;
// IEEE剰余を計算
var rem = Math.IEEERemainder(val1, val2);
Console.WriteLine(rem);
}
}出力結果
上記のコードを実行すると、次の出力が得られます。
NaN
除数(divisor)が0の場合、除算は数学的に定義されないため、メソッドは例外をスローすることなくNaN(Not a Number)を返します。実際のコードでは、呼び出し前に除数が0でないかを確認するか、戻り値がNaNかどうかをdouble.IsNaN()メソッドで判定するのが安全です。
-
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.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を渡した場合、戻り値はNa