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ğerden küçük, buna eşit veya daha büyük 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ırılacak ilk değer.
- right
- BigInteger
Karşılaştırılacak ikinci değer.
Döndürülenler
Aşağıdaki tabloda gösterildiği gibi ve right
göreli değerlerini gösteren işaretli bir tamsayıleft
.
Değer | Koşul |
---|---|
Sıfırdan küçük |
left değerinden küçüktür right .
|
Sıfır |
left eşittir right .
|
Sıfırdan büyük |
left değerinden büyüktür right .
|
Açıklamalar
Türün BigInteger sabit aralığı olmasa da, değer 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, bire farklılık gösteren ve her birinin 1.896 basamağı olan iki BigInteger değeri karşılaştırır. Compare yöntemi, 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