Прочитать на английском

Поделиться через


BigInteger.Compare(BigInteger, BigInteger) Метод

Определение

Сравнивает два значения BigInteger и возвращает целое значение, которое показывает, больше или меньше первое значение по сравнению со вторым или равно ему.

public static int Compare(System.Numerics.BigInteger left, System.Numerics.BigInteger right);

Параметры

left
BigInteger

Первое сравниваемое значение.

right
BigInteger

Второе сравниваемое значение.

Возвращаемое значение

Знаковое целое число, которое определяет относительные значения параметров left и right, как показано в следующей таблице.

Значение Условие
Меньше нуляЗначение left меньше right.
Нуль left равняется right.
Больше нуляЗначение left больше значения right.

Комментарии

BigInteger Хотя тип не имеет фиксированного диапазона, сравнения значений BigInteger не характеризуются отсутствием точности, характеризующей сравнение чисел с плавающей запятой. В следующем примере сравниваются два BigInteger значения, которые отличаются на одно и каждое из которых содержит 1896 цифр. Метод Compare правильно сообщает, что два значения не равны.

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

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

См. также раздел