BigInteger.Compare(BigInteger, BigInteger) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Két BigInteger értéket hasonlít össze, és egy egész számot ad vissza, amely azt jelzi, hogy az első érték kisebb, egyenlő vagy nagyobb,mint a második érték.
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
Paraméterek
- left
- BigInteger
Az első összehasonlítandó érték.
- right
- BigInteger
A második összehasonlítandó érték.
Válaszok
Aláírt egész szám, amely az és left, relatív értékeit right jelzi az alábbi táblázatban látható módon.
| Érték | Feltétel |
|---|---|
| Nullánál kisebb |
left kisebb, mint right.
|
| Nulla |
left egyenlő right.
|
| Nullánál nagyobb |
left nagyobb, mint right.
|
Megjegyzések
Bár a BigInteger típusnak nincs rögzített tartománya, az értékek összehasonlítását BigInteger nem jellemzi a pontosság hiánya, amely a lebegőpontos számok összehasonlítását jellemzi. Az alábbi példa két BigInteger értéket hasonlít össze egymással, és mindegyik 1896 számjegyből áll. A Compare metódus helyesen jelenti, hogy a két érték nem egyenlő.
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