BigInteger.Remainder(BigInteger, BigInteger) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
對兩個 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 傳回的餘數,以建立兩個方法計算相同的餘數。
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.
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 別的隱含轉換。
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應