Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

BigInteger.Divide Method

Divides one BigInteger value by another and returns the result.

Namespace:  System.Numerics
Assemblies:   System.Runtime.Numerics (in System.Runtime.Numerics.dll)
  System.Numerics (in System.Numerics.dll)

public static BigInteger Divide(
	BigInteger dividend,
	BigInteger divisor
)

Parameters

dividend
Type: System.Numerics.BigInteger

The value to be divided.

divisor
Type: System.Numerics.BigInteger

The value to divide by.

Return Value

Type: System.Numerics.BigInteger
The quotient of the division.

ExceptionCondition
DivideByZeroException

divisor is 0 (zero).

The Divide method performs integer division; any remainder that results from the division is discarded. To perform integer division while preserving the remainder, call the DivRem method. To retrieve only the remainder, call the Remainder method.

The Divide method can be used by languages that do not support operator overloading. Its behavior is identical to division using the division operator.

The following example creates an array of BigInteger values. It then uses each element as the quotient in a division operation that uses the Divide method, the division operator (/), and the DivRem method.

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

.NET Framework

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1
Show:
© 2015 Microsoft