BigInteger.Divide Method
Divides one BigInteger value by another and returns the result.
Assembly: System.Numerics (in System.Numerics.dll)
Parameters
- dividend
- Type: System.Numerics.BigInteger
The value to be divided.
- divisor
- Type: System.Numerics.BigInteger
The value to divide by.
| Exception | Condition |
|---|---|
| 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
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.