BigInteger.Compare(BigInteger, BigInteger) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Jämför två BigInteger värden och returnerar ett heltal som anger om det första värdet är mindre än, lika med eller större än det andra värdet.
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
Parametrar
- left
- BigInteger
Det första värdet som ska jämföras.
- right
- BigInteger
Det andra värdet att jämföra.
Returer
Ett signerat heltal som anger de relativa värdena left för och right, enligt följande tabell.
| Värde | Tillstånd |
|---|---|
| Mindre än noll |
left är mindre än right.
|
| Noll |
left är lika med right.
|
| Större än noll |
left är större än right.
|
Kommentarer
BigInteger Även om typen inte har något fast intervall kännetecknas jämförelser av BigInteger värden inte av den brist på precision som kännetecknar jämförelsen av flyttalsnummer. I följande exempel jämförs två BigInteger värden som skiljer sig åt med ett och som var och en har 1 896 siffror. Metoden Compare rapporterar korrekt att de två värdena inte är lika med.
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