바이트 데이터 형식(Visual Basic)

값 범위가 0에서 255까지인 부호 없는 8비트(1바이트) 정수입니다.

설명

Byte 데이터 형식을 사용하여 이진 데이터를 포함합니다.

Byte의 기본값은 0입니다.

리터럴 할당

10진수 리터럴, 16진수 리터럴, 8진수 리터럴 또는(Visual Basic 2017부터) 이진 리터럴을 할당하여 Byte 변수를 선언하고 초기화할 수 있습니다. 정수 리터럴이 Byte 범위를 벗어나는 경우(즉 Byte.MinValue보다 작거나 Byte.MaxValue보다 큰 경우) 컴파일 오류가 발생합니다.

다음 예제에서는 10진수, 16진수, 이진 리터럴로 표현된 201와 같은 정수가 정수에서 byte 값으로 암시적으로 변환됩니다.

Dim byteValue1 As Byte = 201
Console.WriteLine(byteValue1)

Dim byteValue2 As Byte = &H00C9
Console.WriteLine(byteValue2)

Dim byteValue3 As Byte = &B1100_1001
Console.WriteLine(byteValue3)
' The example displays the following output:
'          201
'          201
'          201

참고 항목

16진수 리터럴을 나타내려면 접두사 &h 또는 &H를 사용하고, 이진수 리터럴을 나타내려면 접두사 &b 또는 &B를 사용하고, 8진수 리터럴을 나타내려면 접두사 &o 또는 &O를 사용합니다. 10진수 리터럴에는 접두사가 없습니다.

Visual Basic 2017부터 다음 예와 같이 밑줄 문자 _을 숫자 구분 기호로 사용하여 가독성을 높일 수도 있습니다.

Dim byteValue3 As Byte = &B1100_1001
Console.WriteLine(byteValue3)
' The example displays the following output:
'          201

Visual Basic 15.5부터 밑줄 문자(_)를 접두사와 16진수, 이진수, 8진수 사이의 선행 구분 기호로 사용할 수도 있습니다. 예시:

Dim number As Byte = &H_6A

선행 구분 기호로 밑줄 문자를 사용하려면 Visual Basic 프로젝트(*.vbproj) 파일에 다음 요소를 추가해야 합니다.

<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>

자세한 내용은 Visual Basic 언어 버전 선택을 참조하세요.

프로그래밍 팁

  • 음수. Byte는 부호 없는 형식이므로 음수를 나타낼 수 없습니다. Byte 형식으로 평가되는 식에 단항 빼기(-) 연산자를 사용하는 경우 Visual Basic에서는 먼저 식을 Short으로 변환합니다.

  • 형식 변환. Visual Basic이 파일을 읽거나 쓰거나 DLL, 메서드, 속성을 호출할 때 데이터 형식 간에 자동으로 변환할 수 있습니다. Byte 변수 및 배열에 저장된 이진 데이터는 이러한 형식 변환 중에 유지됩니다. ANSI와 유니코드 형식 간에 변환하는 동안 해당 내용이 손상될 수 있으므로 이진 데이터에 String 변수를 사용하면 안 됩니다.

  • 확장. Byte 데이터 형식은 Short, UShort, Integer, UInteger, Long, ULong, Decimal, Single, Double으로 확장됩니다. 이는 System.OverflowException 오류 발생 없이 Byte를 이러한 형식 중 하나로 변환할 수 있음을 의미합니다.

  • 형식 문자. Byte에는 리터럴 형식 문자 또는 식별자 형식 문자가 없습니다.

  • 프레임워크 형식. .NET Framework에서 해당하는 형식은 System.Byte 구조체입니다.

예시

다음 예제에서 bByte 변수입니다. 문은 변수의 범위와 해당 변수에 대한 비트 시프트 연산자의 적용을 보여 줍니다.

' The valid range of a Byte variable is 0 through 255.
Dim b As Byte
b = 30
' The following statement causes an error because the value is too large.
'b = 256
' The following statement causes an error because the value is negative.
'b = -5
' The following statement sets b to 6.
b = CByte(5.7)

' The following statements apply bit-shift operators to b.
' The initial value of b is 6.
Console.WriteLine(b)
' Bit shift to the right divides the number in half. In this 
' example, binary 110 becomes 11.
b >>= 1
' The following statement displays 3.
Console.WriteLine(b)
' Now shift back to the original position, and then one more bit
' to the left. Each shift to the left doubles the value. In this
' example, binary 11 becomes 1100.
b <<= 2
' The following statement displays 12.
Console.WriteLine(b)

참고 항목