英語で読む

次の方法で共有


BigInteger.DivRem メソッド

定義

オーバーロード

DivRem(BigInteger, BigInteger)

2 つの値の商と剰余を計算します。

DivRem(BigInteger, BigInteger, BigInteger)

ある BigInteger 値を別の値で除算し、その結果を返します。剰余は出力パラメーターとして返されます。

DivRem(BigInteger, BigInteger)

ソース:
BigInteger.cs
ソース:
BigInteger.cs
ソース:
BigInteger.cs

2 つの値の商と剰余を計算します。

C#
public static (System.Numerics.BigInteger Quotient, System.Numerics.BigInteger Remainder) DivRem (System.Numerics.BigInteger left, System.Numerics.BigInteger right);

パラメーター

left
BigInteger

除算する right 値。

right
BigInteger

を除算する left値。

戻り値

の商と剰余 left を で除算します right

実装

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET 7, 8, 9

DivRem(BigInteger, BigInteger, BigInteger)

ソース:
BigInteger.cs
ソース:
BigInteger.cs
ソース:
BigInteger.cs

ある BigInteger 値を別の値で除算し、その結果を返します。剰余は出力パラメーターとして返されます。

C#
public static System.Numerics.BigInteger DivRem (System.Numerics.BigInteger dividend, System.Numerics.BigInteger divisor, out System.Numerics.BigInteger remainder);

パラメーター

dividend
BigInteger

被除数。

divisor
BigInteger

除数。

remainder
BigInteger

このメソッドから制御が戻るときに、除算の剰余を表す BigInteger 値が格納されます。 このパラメーターは初期化せずに渡されます。

戻り値

除算の商。

例外

divisor が 0 (ゼロ) です。

次の例では、値の BigInteger 配列を作成します。 次に、 メソッド、除算演算子 (/)、および メソッドを使用する除算操作で、各要素をDivRem商として使用Divideします。

C#
using System;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      BigInteger divisor = BigInteger.Pow(Int64.MaxValue, 2);

      BigInteger[] dividends = { BigInteger.Multiply((BigInteger) Single.MaxValue, 2),
                                 BigInteger.Parse("90612345123875509091827560007100099"),
                                 BigInteger.One,
                                 BigInteger.Multiply(Int32.MaxValue, Int64.MaxValue),
                                 divisor + BigInteger.One };

      // Divide each dividend by divisor in three different ways.
      foreach (BigInteger dividend in dividends)
      {
         BigInteger quotient;
         BigInteger remainder = 0;

         Console.WriteLine("Dividend: {0:N0}", dividend);
         Console.WriteLine("Divisor:  {0:N0}", divisor);
         Console.WriteLine("Results:");
         Console.WriteLine("   Using Divide method:     {0:N0}",
                           BigInteger.Divide(dividend, divisor));
         Console.WriteLine("   Using Division operator: {0:N0}",
                           dividend / divisor);
         quotient = BigInteger.DivRem(dividend, divisor, out remainder);
         Console.WriteLine("   Using DivRem method:     {0:N0}, remainder {1:N0}",
                           quotient, remainder);

         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//    Dividend: 680,564,693,277,057,719,623,408,366,969,033,850,880
//    Divisor:  85,070,591,730,234,615,847,396,907,784,232,501,249
//    Results:
//       Using Divide method:     7
//       Using Division operator: 7
//       Using DivRem method:     7, remainder 85,070,551,165,415,408,691,630,012,479,406,342,137
//
//    Dividend: 90,612,345,123,875,509,091,827,560,007,100,099
//    Divisor:  85,070,591,730,234,615,847,396,907,784,232,501,249
//    Results:
//       Using Divide method:     0
//       Using Division operator: 0
//       Using DivRem method:     0, remainder 90,612,345,123,875,509,091,827,560,007,100,099
//
//    Dividend: 1
//    Divisor:  85,070,591,730,234,615,847,396,907,784,232,501,249
//    Results:
//       Using Divide method:     0
//       Using Division operator: 0
//       Using DivRem method:     0, remainder 1
//
//    Dividend: 19,807,040,619,342,712,359,383,728,129
//    Divisor:  85,070,591,730,234,615,847,396,907,784,232,501,249
//    Results:
//       Using Divide method:     0
//       Using Division operator: 0
//       Using DivRem method:     0, remainder 19,807,040,619,342,712,359,383,728,129
//
//    Dividend: 85,070,591,730,234,615,847,396,907,784,232,501,250
//    Divisor:  85,070,591,730,234,615,847,396,907,784,232,501,249
//    Results:
//       Using Divide method:     1
//       Using Division operator: 1
//       Using DivRem method:     1, remainder 1

注釈

このメソッドは、整数除算の結果である商と剰余の両方を保持します。 剰余に関心がない場合は、 メソッドまたは除算演算子を使用 Divide します。剰余のみに関心がある場合は、 メソッドを使用します Remainder

戻り remainder 値の符号は、 パラメーターの dividend 符号と同じです。

メソッドの DivRem 動作は、 メソッドの動作と Math.DivRem 同じです。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0