BigInteger.Compare(BigInteger, BigInteger) Méthode

Définition

Compare deux valeurs BigInteger et retourne un entier qui indique si la première valeur est inférieure, égale ou supérieure à la seconde valeur.Compares two BigInteger values and returns an integer that indicates whether the first value is less than, equal to, or greater than the second value.

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ètres

left
BigInteger

Première valeur à comparer.The first value to compare.

right
BigInteger

Deuxième valeur à comparer.The second value to compare.

Retours

Entier signé qui indique les valeurs relatives de left et right, comme indiqué dans le tableau suivant.A signed integer that indicates the relative values of left and right, as shown in the following table.

ValeurValue ConditionCondition
Inférieur à zéroLess than zero left est inférieur à right.left is less than right.
ZéroZero left est égal à right.left equals right.
Supérieur à zéroGreater than zero left est supérieur à right.left is greater than right.

Remarques

Bien que le type de BigInteger n’ait pas de plage fixe, les comparaisons de valeurs de BigInteger ne sont pas caractérisées par le manque de précision qui caractérise la comparaison des nombres à virgule flottante.Although the BigInteger type has no fixed range, comparisons of BigInteger values are not characterized by the lack of precision that characterizes the comparison of floating-point numbers. L’exemple suivant compare deux valeurs BigInteger qui diffèrent par une et qui ont chacune 1 896 chiffres.The following example compares two BigInteger values that differ by one and that each have 1,896 digits. La méthode Compare signale correctement que les deux valeurs ne sont pas égales.The Compare method correctly reports that the two values are not equal.

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
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

S’applique à

Voir aussi