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

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()メソッドで判定するのが安全です。

  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.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