BigInteger.Divide Method
Divides one BigInteger value by another and returns the result.
Namespace: System.Numerics
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 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.