BigInteger.Compare(BigInteger, BigInteger) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Porovná dvě BigInteger hodnoty a vrátí celé číslo, které označuje, zda je první hodnota menší než, rovna nebo větší než druhá hodnota.
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
První hodnota pro porovnání.
- right
- BigInteger
Druhá hodnota pro porovnání.
Návraty
Celé číslo se znaménkem, které označuje relativní hodnoty left
a , right
jak je znázorněno v následující tabulce.
Hodnota | Podmínka |
---|---|
Menší než nula |
left je menší než right .
|
Žádnou |
left rovná se right .
|
Větší než nula |
left je větší než right .
|
Poznámky
BigInteger I když typ nemá žádný pevný rozsah, porovnání BigInteger hodnot nejsou charakterizována nedostatkem přesnosti, která charakterizuje porovnání čísel s plovoucí desetinou čárkou. Následující příklad porovnává dvě BigInteger hodnoty, které se liší o jednu a které mají 1 896 číslic. Metoda Compare správně hlásí, že tyto dvě hodnoty nejsou stejné.
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