BigInteger.Compare(BigInteger, BigInteger) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İki BigInteger değeri karşılaştırır ve ilk değerin ikinci değere eşit mi yoksa ikinci değerden daha büyük mü olduğunu belirten bir tamsayı döndürür.
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
Parametreler
- left
- BigInteger
Karşılaştıracak ilk değer.
- right
- BigInteger
Karşılaştıracak ikinci değer.
Döndürülenler
Aşağıdaki tabloda gösterildiği gibi ve rightgöreli değerlerini gösteren imzalı tamsayıleft.
| Değer | Koşul |
|---|---|
| Sıfırdan küçük |
left değerinden rightküçüktür.
|
| Sıfır |
left eşittir right.
|
| Sıfırdan büyük |
left değerinden rightbüyüktür.
|
Açıklamalar
Türün BigInteger sabit aralığı olmasa da, değerlerin karşılaştırmaları kayan BigInteger noktalı sayıların karşılaştırmasını karakterize eden duyarlık eksikliği ile karakterize değildir. Aşağıdaki örnek, bir ile farklılık gösteren ve her birinin 1.896 basamağı olan iki BigInteger değeri karşılaştırır. yöntemi, Compare iki değerin eşit olmadığını doğru bir şekilde bildirir.
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