BigInteger.Remainder(BigInteger, BigInteger) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
2 つの BigInteger 値に対する整数除算を実行し、その剰余を返します。
public:
static System::Numerics::BigInteger Remainder(System::Numerics::BigInteger dividend, System::Numerics::BigInteger divisor);
public static System.Numerics.BigInteger Remainder (System.Numerics.BigInteger dividend, System.Numerics.BigInteger divisor);
static member Remainder : System.Numerics.BigInteger * System.Numerics.BigInteger -> System.Numerics.BigInteger
Public Shared Function Remainder (dividend As BigInteger, divisor As BigInteger) As BigInteger
パラメーター
- dividend
- BigInteger
被除数。
- divisor
- BigInteger
除数。
戻り値
dividend
を divisor
で除算した結果生じた剰余。
例外
divisor
が 0 (ゼロ) です。
例
次の例では、 メソッドの DivRem 剰余を メソッドから Remainder 返された剰余と比較して、2 つのメソッドが同じ剰余を計算することを確認します。
using System;
using System.Numerics;
public class Example
{
public static void Main()
{
BigInteger dividend1 = BigInteger.Pow(Int64.MaxValue, 3);
BigInteger dividend2 = dividend1 * BigInteger.MinusOne;
BigInteger divisor1 = Int32.MaxValue;
BigInteger divisor2 = divisor1 * BigInteger.MinusOne;
BigInteger remainder1, remainder2;
BigInteger divRem1 = BigInteger.Zero;
BigInteger divRem2 = BigInteger.Zero;
remainder1 = BigInteger.Remainder(dividend1, divisor1);
remainder2 = BigInteger.Remainder(dividend2, divisor1);
BigInteger.DivRem(dividend1, divisor1, out divRem1);
Console.WriteLine("BigInteger.Remainder({0}, {1}) = {2}",
dividend1, divisor1, remainder1);
Console.WriteLine("BigInteger.DivRem({0}, {1}) = {2}",
dividend1, divisor1, divRem1);
if (remainder1.Equals(divRem1))
Console.WriteLine("The remainders are equal.\n");
BigInteger.DivRem(dividend2, divisor2, out divRem2);
Console.WriteLine("BigInteger.Remainder({0}, {1}) = {2}",
dividend2, divisor2, remainder2);
Console.WriteLine("BigInteger.DivRem({0}, {1}) = {2}",
dividend2, divisor2, divRem2);
if (remainder2.Equals(divRem2))
Console.WriteLine("The remainders are equal.\n");
}
}
// The example displays the following output:
// BigInteger.Remainder(784637716923335095224261902710254454442933591094742482943, 2147483647) = 1
// BigInteger.DivRem(784637716923335095224261902710254454442933591094742482943, 2147483647) = 1
// The remainders are equal.
//
// BigInteger.Remainder(-784637716923335095224261902710254454442933591094742482943, -2147483647) = -1
// BigInteger.DivRem(-784637716923335095224261902710254454442933591094742482943, -2147483647) = -1
// The remainders are equal.
open System
open System.Numerics
let dividend1 = BigInteger.Pow(Int64.MaxValue, 3)
let dividend2 = dividend1 * BigInteger.MinusOne
let divisor1 = bigint Int32.MaxValue
let divisor2 = divisor1 * BigInteger.MinusOne
let remainder1 = BigInteger.Remainder(dividend1, divisor1)
let remainder2 = BigInteger.Remainder(dividend2, divisor1)
let mutable divRem1 = BigInteger.Zero
let mutable divRem2 = BigInteger.Zero
BigInteger.DivRem(dividend1, divisor1, &divRem1) |> ignore
printfn $"BigInteger.Remainder({dividend1}, {divisor1}) = {remainder1}"
printfn $"BigInteger.DivRem({dividend1}, {divisor1}) = {divRem1}"
if remainder1.Equals divRem1 then
printfn $"The remainders are equal.\n"
BigInteger.DivRem(dividend2, divisor2, &divRem2) |> ignore
printfn $"BigInteger.Remainder({dividend2}, {divisor2}) = {remainder2}"
printfn $"BigInteger.DivRem({dividend2}, {divisor2}) = {divRem2}"
if remainder2.Equals divRem2 then
printfn $"The remainders are equal.\n"
// The example displays the following output:
// BigInteger.Remainder(784637716923335095224261902710254454442933591094742482943, 2147483647) = 1
// BigInteger.DivRem(784637716923335095224261902710254454442933591094742482943, 2147483647) = 1
// The remainders are equal.
//
// BigInteger.Remainder(-784637716923335095224261902710254454442933591094742482943, -2147483647) = -1
// BigInteger.DivRem(-784637716923335095224261902710254454442933591094742482943, -2147483647) = -1
// The remainders are equal.
Imports System.Numerics
Module Example
Public Sub Main()
Dim dividend1 As BigInteger = BigInteger.Pow(Int64.MaxValue, 3)
Dim dividend2 As BigInteger = dividend1 * BigInteger.MinusOne
Dim divisor1 As BigInteger = Int32.MaxValue
Dim divisor2 As BigInteger = divisor1 * BigInteger.MinusOne
Dim remainder1, remainder2 As BigInteger
Dim divRem1 As BigInteger = BigInteger.Zero
Dim divRem2 As BigInteger = BigInteger.Zero
remainder1 = BigInteger.Remainder(dividend1, divisor1)
remainder2 = BigInteger.Remainder(dividend2, divisor1)
BigInteger.DivRem(dividend1, divisor1, divRem1)
Console.WriteLine("BigInteger.Remainder({0}, {1}) = {2}",
dividend1, divisor1, remainder1)
Console.WriteLine("BigInteger.DivRem({0}, {1}) = {2}",
dividend1, divisor1, divRem1)
If remainder1.Equals(divRem1) Then Console.WriteLine("The remainders are equal.")
Console.WriteLine()
BigInteger.DivRem(dividend2, divisor2, divRem2)
Console.WriteLine("BigInteger.Remainder({0}, {1}) = {2}",
dividend2, divisor2, remainder2)
Console.WriteLine("BigInteger.DivRem({0}, {1}) = {2}",
dividend2, divisor2, divRem2)
If remainder2.Equals(divRem2) Then Console.WriteLine("The remainders are equal.")
Console.WriteLine()
End Sub
End Module
' The example displays the following output:
' BigInteger.Remainder(784637716923335095224261902710254454442933591094742482943, 2147483647) = 1
' BigInteger.DivRem(784637716923335095224261902710254454442933591094742482943, 2147483647) = 1
' The remainders are equal.
'
' BigInteger.Remainder(-784637716923335095224261902710254454442933591094742482943, -2147483647) = -1
' BigInteger.DivRem(-784637716923335095224261902710254454442933591094742482943, -2147483647) = -1
' The remainders are equal.
注釈
剰余の符号は、 パラメーターの dividend
符号です。
メソッドは Remainder 、カスタム演算子をサポートしていない言語に対して実装されます。 その動作は、剰余演算子を使用した除算と同じです。
必要に応じて、メソッドは他の整数型からオブジェクトへの暗黙的な変換を自動的に BigInteger 実行してから、剰余演算を実行します。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET