방법: 부호 없는 형식을 사용하여 양의 정수 저장 최적화(Visual Basic)

양수 값 또는 0만 포함하는 변수가 있고 이러한 값이 4,294,967,295를 넘지 않는 경우 변수를 Long 대신 UInteger로 선언할 수 있습니다.

32비트 정수 형식인 Integer와 UInteger는 32비트 플랫폼에서 가장 효율적인 데이터 형식이고 응용 프로그램에 최적의 성능을 제공하므로 UInteger를 사용하면 이점이 있습니다.

양수 값이 2,147,483,647을 넘지 않을 경우에는 Integer 변수를 사용할 수 있습니다.

양수 값만 포함하는 정수를 선언하려면

  • 변수를 As UInteger로 선언합니다. 다음은 이에 대한 예입니다.

    Public Function memoryRequired(ByVal m As UInteger) As UInteger
        Static r As UInteger = 0
        Try
            r += m
        Catch eo As System.OverflowException
            r = 0
        Catch ex As System.Exception
            MsgBox("Incrementing required memory causes """ & ex.Message & """")
        End Try
        Return r
    End Function
    

    다음 코드를 사용하여 memoryRequired 함수를 테스트할 수 있습니다.

    Public Sub consumeMemoryRequired()
        Dim m1 As UInteger = UInteger.MaxValue - 100
        Dim m2 As UInteger = 100
        MsgBox("Max = " & CStr(UInteger.MaxValue) & vbCrLf & 
            CStr(m1) & " -> " & CStr(memoryRequired(m1)) & vbCrLf & 
            "+ " & CStr(m2) & " -> " & CStr(memoryRequired(m2)) 
            & vbCrLf & "+ 1 -> " & CStr(memoryRequired(1)))
    End Sub
    

    경고

    UInteger 데이터 형식은 CLS(공용 언어 사양)에 포함되어 있지 않으므로 CLS 규격 코드에서는 이 데이터 형식을 사용하는 구성 요소를 사용할 수 없습니다.

참고 항목

작업

방법: 부호 없는 형식을 사용하는 Windows 함수 호출(Visual Basic)

참조

데이터 형식 요약(Visual Basic)

Integer 데이터 형식(Visual Basic)

UInteger 데이터 형식