BigInteger.Division(BigInteger, BigInteger) Оператор
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Делит указанное значение BigInteger на другое указанное значение BigInteger, используя целочисленное деление.
public:
static System::Numerics::BigInteger operator /(System::Numerics::BigInteger dividend, System::Numerics::BigInteger divisor);
public:
static System::Numerics::BigInteger operator /(System::Numerics::BigInteger dividend, System::Numerics::BigInteger divisor) = System::Numerics::IDivisionOperators<System::Numerics::BigInteger, System::Numerics::BigInteger, System::Numerics::BigInteger>::op_Division;
public static System.Numerics.BigInteger operator / (System.Numerics.BigInteger dividend, System.Numerics.BigInteger divisor);
static member ( / ) : System.Numerics.BigInteger * System.Numerics.BigInteger -> System.Numerics.BigInteger
Public Shared Operator / (dividend As BigInteger, divisor As BigInteger) As BigInteger
Параметры
- dividend
- BigInteger
Значение, которое необходимо разделить.
- divisor
- BigInteger
Значение, на которое необходимо разделить.
Возвращаемое значение
Целочисленный результат деления.
Реализации
Исключения
Значение параметра divisor
равно нулю (0).
Примеры
В следующем примере создается массив значений BigInteger . Затем каждый элемент используется в качестве частного в операции деления, которая использует Divide метод, оператор деления (/) и DivRem метод .
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
open System
open System.Numerics
let divisor = BigInteger.Pow(Int64.MaxValue, 2)
let dividends =
[| BigInteger.Multiply(bigint 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.
for dividend in dividends do
let mutable quotient = 0I
let mutable remainder = 0I
printfn $"Dividend: {dividend:N0}"
printfn $"Divisor: {divisor:N0}"
printfn "Results:"
printfn $" Using Divide method: {BigInteger.Divide(dividend, divisor):N0}"
printfn $" Using Division operator: {dividend / divisor:N0}"
quotient <- BigInteger.DivRem(dividend, divisor, &remainder)
printfn $" Using DivRem method: {quotient:N0}, remainder {remainder:N0}"
printfn ""
// 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
Imports System.Numerics
Module Example
Public Sub Main()
Dim divisor As BigInteger = BigInteger.Pow(Int64.MaxValue, 2)
Dim dividends() As BigInteger = { BigInteger.Multiply(CType(Single.MaxValue, BigInteger), 2),
BigInteger.Parse("90612345123875509091827560007100099"),
BigInteger.One,
BigInteger.Multiply(Int32.MaxValue, Int64.MaxValue),
divisor + BigInteger.One }
' Divide each dividend by divisor in three different ways.
For Each dividend As BigInteger In dividends
Dim quotient As BigInteger
Dim remainder As BigInteger = 0
' Divide using division operator.
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, remainder)
Console.WriteLine(" Using DivRem method: {0:N0}, remainder {1:N0}",
quotient, remainder)
Console.WriteLine()
Next
End Sub
End Module
' 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
Комментарии
Метод Division определяет операцию деления для значений BigInteger . Он включает следующий код:
BigInteger num1 = 100045632194;
BigInteger num2 = 90329434;
BigInteger quotient = num1 / num2;
let num1 = 100045632194I
let num2 = 90329434I
let quotient = num1 / num2
Dim num1 As BigInteger = 100045632194
Dim num2 As BigInteger = 90329434
Dim quotient As BigInteger = num1 / num2
Языки, не поддерживающие пользовательские операторы и перегрузку Divide операторов, могут вызывать метод .
Эквивалентный метод для этого оператора — BigInteger.Divide(BigInteger, BigInteger)