Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#의 UInt32.MaxValue 필드: 32비트 부호 없는 정수의 최댓값 이해하기

C#의 UInt32.MaxValue 필드는 32비트 부호 없는 정수(unsigned integer)가 표현할 수 있는 최댓값을 나타냅니다. 이 값은 4,294,967,295이며, uint 형식이 저장할 수 있는 상한선을 의미합니다.

구문(Syntax)

UInt32.MaxValue 필드의 구문은 다음과 같습니다.

public const uint MaxValue = 4294967295;

예제 1: 기본 사용법

다음 예제는 UInt32.MaxValue 필드를 실제로 사용하는 방법을 보여줍니다. uint 변수의 해시 코드, 타입 코드(TypeCode)와 함께 최댓값도 함께 출력해 봅니다.

using System;
public class Demo {
   public static void Main(){
      uint val1 = 23;
      uint val2 = 0;
      Console.WriteLine("Value1 = "+val1);
      Console.WriteLine("Value2 = "+val2);
      Console.WriteLine("HashCode for value1 = "+val1.GetHashCode());
      Console.WriteLine("HashCode for value2 = "+val2.GetHashCode());
      Console.WriteLine("Are they equal? = "+(val1.Equals(val2)));
      TypeCode type1 = val1.GetTypeCode();
      TypeCode type2 = val2.GetTypeCode();
      Console.WriteLine("TypeCode for val1 = "+type1);
      Console.WriteLine("TypeCode for val2 = "+type2);
      Console.WriteLine("Maximum Value = "+ UInt32.MaxValue);
   }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Value1 = 23
Value2 = 0
HashCode for value1 = 23
HashCode for value2 = 0
Are they equal? = False
TypeCode for val1 = UInt32
TypeCode for val2 = UInt32
Maximum Value = 4294967295

예제 2: 값 변환 시 범위 검사

다음 예제에서는 ulong 배열의 값들을 uint로 변환하기 전에, UInt32.MinValue와 UInt32.MaxValue를 사용하여 해당 값이 uint 범위 내에 있는지 검사하는 방법을 살펴봅니다. 범위 내에 있으면 Convert.ToUInt32()로 안전하게 변환하고, 그렇지 않으면 변환이 불가능하다는 메시지를 출력합니다.

using System;
public class Demo {
   public static void Main(){
      ulong[]val = {568787, 8343443, 243434343};
      uint res;
      foreach(ulong a in val){
         if(a >= UInt32.MinValue && a <= UInt32.MaxValue){
            res = Convert.ToUInt32(a);
            Console.WriteLine("Converted: "+res);
         } else {
            Console.WriteLine("Not Possible");
         }
      }
   }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Converted: 568787
Converted: 8343443
Converted: 243434343

핵심 정리

UInt32.MaxValue는 uint 형식이 가질 수 있는 최댓값인 4,294,967,295를 나타내는 상수 필드입니다. 큰 정수형 데이터를 uint로 변환하기 전에 범위를 검사하거나, 경계 조건을 처리할 때 매우 유용하게 활용됩니다.