ULong 데이터 형식(Visual Basic)
0에서 18,446,744,073,709,551,615(1.84 x 10 ^ 19 초과) 사이의 값 범위에 있는 부호 없는 64비트(8바이트) 정수가 사용됩니다.
설명
UInteger
에 비해 너무 큰 이진 데이터 또는 가능한 가장 큰 부호 없는 정수 값을 포함하려면 ULong
데이터 형식을 사용합니다.
ULong
의 기본값은 0입니다.
리터럴 할당
10진수 리터럴, 16진수 리터럴, 8진수 리터럴 또는(Visual Basic 2017부터) 2진 리터럴을 할당하여 ULong
변수를 선언하고 초기화할 수 있습니다. 정수 리터럴이 ULong
범위를 벗어나는 경우(즉 UInt64.MinValue보다 작거나 UInt64.MaxValue보다 큰 경우) 컴파일 오류가 발생합니다.
다음 예제에서는 10진수, 16진수 및 이진 리터럴로 표현된 7,934,076,125와 같은 정수가 ULong
값에 할당됩니다.
Dim ulongValue1 As ULong = 7934076125
Console.WriteLine(ulongValue1)
Dim ulongValue2 As ULong = &H0001D8e864DD
Console.WriteLine(ulongValue2)
Dim ulongValue3 As ULong = &B0001_1101_1000_1110_1000_0110_0100_1101_1101
Console.WriteLine(ulongValue3)
' The example displays the following output:
' 7934076125
' 7934076125
' 7934076125
참고 항목
16진수 리터럴을 나타내려면 접두사 &h
또는 &H
을(를) 사용하고, 이진수 리터럴을 나타내려면 접두사 &b
또는 &B
을(를) 사용하고, 8진수 리터럴을 나타내려면 접두사 &o
또는 &O
을(를) 사용합니다. 10진수 리터럴에는 접두사가 없습니다.
Visual Basic 2017부터 다음 예와 같이 밑줄 문자 _
을 숫자 구분 기호로 사용하여 가독성을 높일 수도 있습니다.
Dim longValue1 As Long = 4_294_967_296
Console.WriteLine(longValue1)
Dim longValue2 As Long = &H1_0000_0000
Console.WriteLine(longValue2)
Dim longValue3 As Long = &B1_0000_0000_0000_0000_0000_0000_0000_0000
Console.WriteLine(longValue3)
' The example displays the following output:
' 4294967296
' 4294967296
' 4294967296
Visual Basic 15.5부터 밑줄 문자(_
)를 접두사와 16진수, 이진수, 8진수 사이의 선행 구분 기호로 사용할 수도 있습니다. 예시:
Dim number As ULong = &H_F9AC_0326_1489_D68C
선행 구분 기호로 밑줄 문자를 사용하려면 Visual Basic 프로젝트(*.vbproj) 파일에 다음 요소를 추가해야 합니다.
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
자세한 내용은 Visual Basic 언어 버전 선택을 참조하세요.
숫자 리터럴에는 다음 예와 같이 ULong
데이터 형식을 나타내기 위해 UL
또는 ul
형식 문자도 포함될 수 있습니다.
Dim number = &H_00_00_0A_96_2F_AC_14_D7ul
프로그래밍 팁
음수.
ULong
는 부호 없는 형식이므로 음수를 나타낼 수 없습니다.ULong
형식으로 평가되는 식에 단항 빼기(-
) 연산자를 사용하는 경우 Visual Basic에서는 먼저 식을Decimal
으로 변환합니다.CLS 준수.
ULong
데이터 형식은 CLS(공용 언어 사양)의 일부가 아니므로 CLS 규격 코드는 이를 사용하는 구성 요소를 사용할 수 없습니다.Interop 고려 사항. .NET Framework용으로 작성되지 않은 구성 요소(예: 자동화 또는 COM 개체)와 인터페이스하는 경우
ulong
과 같은 형식은 다른 환경에서 다른 데이터 너비(32비트)를 가질 수 있다는 점에 유의해야 합니다. 이러한 구성 요소에 32비트 인수를 전달하는 경우 관리되는 Visual Basic 코드에서ULong
대신UInteger
로 선언합니다.Widening.
ULong
데이터 형식은Decimal
,Single
및Double
로 확장됩니다. 이는ULong
오류 발생 없이 System.OverflowException을 이러한 형식 으로 변환할 수 있음을 의미합니다.형식 문자. 리터럴 형식 문자
UL
을(를) 리터럴에 추가하면ULong
데이터 형식이 됩니다.ULong
에는 식별자 형식 문자가 없습니다.Framework 형식. .NET Framework에서 해당하는 형식은 System.UInt64 구조체입니다.
참고 항목
.NET