BigInteger.Compare(BigInteger, BigInteger) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Porównuje dwie BigInteger wartości i zwraca liczbę całkowitą wskazującą, czy pierwsza wartość jest mniejsza niż, równa, czy większa niż druga wartość.
public:
static int Compare(System::Numerics::BigInteger left, System::Numerics::BigInteger right);
public static int Compare (System.Numerics.BigInteger left, System.Numerics.BigInteger right);
static member Compare : System.Numerics.BigInteger * System.Numerics.BigInteger -> int
Public Shared Function Compare (left As BigInteger, right As BigInteger) As Integer
Parametry
- left
- BigInteger
Pierwsza wartość do porównania.
- right
- BigInteger
Druga wartość do porównania.
Zwraca
Podpisana liczba całkowita wskazująca względne wartości left
i right
, jak pokazano w poniższej tabeli.
Wartość | Warunek |
---|---|
Mniej niż zero |
left wartość jest mniejsza niż right .
|
Zero |
left
right równa się .
|
Większe od zera |
left wartość jest większa niż right .
|
Uwagi
BigInteger Chociaż typ nie ma stałego zakresu, porównania wartości nie charakteryzują się brakiem dokładności, która charakteryzuje porównanie BigInteger liczb zmiennoprzecinkowych. W poniższym przykładzie porównaliśmy dwie BigInteger wartości, które różnią się jedną, a każda z nich ma 1896 cyfr. Metoda Compare poprawnie zgłasza, że dwie wartości nie są równe.
BigInteger number1 = BigInteger.Pow(Int64.MaxValue, 100);
BigInteger number2 = number1 + 1;
string relation = "";
switch (BigInteger.Compare(number1, number2))
{
case -1:
relation = "<";
break;
case 0:
relation = "=";
break;
case 1:
relation = ">";
break;
}
Console.WriteLine("{0} {1} {2}", number1, relation, number2);
// The example displays the following output:
// 3.0829940252776347122742186219E+1896 < 3.0829940252776347122742186219E+1896
let number1 = BigInteger.Pow(int64 System.Int64.MaxValue, 100)
let number2 = number1 + 1I
let relation =
match BigInteger.Compare(number1, number2) with
| -1 -> "<"
| 0 -> "="
| 1 | _ -> ">"
printfn $"{number1} {relation} {number2}"
// The example displays the following output:
// 3.0829940252776347122742186219E+1896 < 3.0829940252776347122742186219E+1896
Dim number1 As BigInteger = BigInteger.Pow(Int64.MaxValue, 100)
Dim number2 As BigInteger = number1 + 1
Dim relation As String = ""
Select Case BigInteger.Compare(number1, number2)
Case -1
relation = "<"
Case 0
relation = "="
Case 1
relation = ">"
End Select
Console.WriteLine("{0} {1} {2}", number1, relation, number2)
' The example displays the following output:
' 3.0829940252776347122742186219E+1896 < 3.0829940252776347122742186219E+1896