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

C#のMath.DivRem()メソッドの使い方を徹底解説!商と余りを同時に取得する方法

C#のMath.DivRem()メソッドは、2つの数値の除算を行って商(quotient)を返すとともに、余り(remainder)をoutパラメータとして受け取ることができる便利なメソッドです。通常、商と余りの両方を求めるには「/」演算子と「%」演算子を別々に使う必要がありますが、このメソッドを使えば一度の呼び出しで両方の結果を取得できます。

構文

public static int DivRem(int dividend, int divisor, out int remainder);
public static long DivRem(long dividend, long divisor, out long remainder);

パラメータ

  • dividend:割られる数(被除数)
  • divisor:割る数(除数)
  • remainder:余りを受け取るための出力パラメータ(out)

戻り値

dividend を divisor で割った商が戻り値として返されます。余りは out パラメータに格納されます。

例1:int型での使用例

それでは、Math.DivRem()メソッドを使用した具体的な例を見てみましょう。

using System;

public class Demo {
    public static void Main() {
        int dividend = 30;
        int divisor = 7;
        int remainder;

        int quotient = Math.DivRem(dividend, divisor, out remainder);

        Console.WriteLine("Quotient = " + quotient);
        Console.WriteLine("Remainder = " + remainder);
    }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Quotient = 4
Remainder = 2

30 ÷ 7 の商は4、余りは2であることが確認できます。

例2:long型での使用例

次に、大きな数値を扱えるlong型での使用例を見てみましょう。

using System;

public class Demo {
    public static void Main() {
        long dividend = 767676765765765;
        long divisor = 7;
        long remainder;

        long quotient = Math.DivRem(dividend, divisor, out remainder);

        Console.WriteLine("Quotient = " + quotient);
        Console.WriteLine("Remainder = " + remainder);
    }
}

出力結果

このコードを実行すると、以下の出力が得られます。

Quotient = 109668109395109
Remainder = 2

まとめ

Math.DivRem()メソッドを使うことで、商と余りを1回の処理で効率的に取得できます。特に大きな数値を扱う場合や、パフォーマンスが重要な場面で役立ちます。int型とlong型の両方に対応したオーバーロードが用意されているため、用途に応じて使い分けるとよいでしょう。

  1. C#のMath.Exp()メソッドの使い方を徹底解説!eの累乗計算と特殊値の挙動

    C#のMath.Exp()メソッドは、自然対数の底「e」(ネイピア数、約2.71828)を指定した値で累乗した結果を返すメソッドです。数学的な指数関数の計算が必要な場面で活用されます。構文public static double Exp (double val);引数 val には、eの累乗の指数となる倍精度浮動小数点数(double型)を指定します。戻り値もdouble型です。特殊な値が渡された場合の挙動NaN(非数)またはPositiveInfinity(正の無限大)を渡した場合 → その値がそのまま返されます。NegativeInfinity(負の無限大)を渡した場合 → 0 が返されま

  2. C#のMath.DivRemメソッドとは?商と余りを同時に計算する方法

    C#のMath.DivRemメソッドは、2つの数値の商(割り算の結果)を計算すると同時に、余りも取得できる便利なメソッドです。通常、商を求める場合は「/」演算子、余りを求める場合は「%」演算子を使いますが、Math.DivRemを使えば1回の呼び出しで両方の結果を得ることができます。 Math.DivRemメソッドの基本構文 まず、被除数(割られる数)と除数(割る数)を設定します。 // 被除数(割られる数) long dividend = 30; // 除数(割る数) long divisor = 7; 続いて、DivRemメソッドを呼び出します。第3引数にはoutパラメータとして余りを受け