다음을 통해 공유


BigInteger.Compare(BigInteger, BigInteger) 메서드

정의

BigInteger 값을 비교하고 첫 번째 값이 두 번째 값보다 작은지, 같은지 또는 큰지를 나타내는 정수를 반환합니다.

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

매개 변수

left
BigInteger

비교할 첫 번째 값입니다.

right
BigInteger

비교할 두 번째 값입니다.

반환

다음 표와 같이 leftright의 상대 값을 나타내는 부호 있는 정수입니다.

조건
0보다 작음 leftright보다 작은 경우
0 leftright와 같습니다.
0보다 큼 leftright보다 큰 경우

설명

형식에 BigInteger 고정 범위가 없지만 값 비교 BigInteger 는 부동 소수점 숫자의 비교를 특징짓는 정밀도 부족으로 특징지어지지 않습니다. 다음 예제에서는 서로 다른 두 BigInteger 값과 각각 1,896자리의 값을 비교합니다. 메서드는 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
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

적용 대상

추가 정보