# BigInteger.Compare(BigInteger, BigInteger) Method

## Definition

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

#### Parameters

left
BigInteger

The first value to compare.

right
BigInteger

The second value to compare.

#### Returns

A signed integer that indicates the relative values of `left` and `right`, as shown in the following table.

Value Condition
Less than zero `left` is less than `right`.
Zero `left` equals `right`.
Greater than zero `left` is greater than `right`.

## Remarks

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. The following example compares two BigInteger values that differ by one and that each have 1,896 digits. 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
``````