SByte 데이터 형식(Visual Basic)
-128에서 127까지의 값 범위에 속하는 부호 있는 8비트(1바이트) 정수를 저장합니다.
설명
Integer
의 전체 데이터 너비 또는 Short
의 데이터 너비 절반 조차 필요하지 않은 정수 값을 포함하려면 SByte
데이터 형식을 사용합니다. 경우에 따라, 공용 언어 런타임은 SByte
변수를 긴밀하게 압축하고 메모리 소비를 절약할 수 있습니다.
SByte
의 기본값은 0입니다.
리터럴 할당
10진수 리터럴, 16진수 리터럴, 8진수 리터럴 또는(Visual Basic 2017부터) 2진 리터럴을 할당하여 SByte
변수를 선언하고 초기화할 수 있습니다.
다음 예제에서는 10진수, 16진수 및 이진 리터럴로 표현된 -102와 같은 정수가 SByte
값에 할당됩니다. 이 예제에서는 /removeintchecks
컴파일러 스위치를 사용하여 컴파일해야 합니다.
Dim sbyteValue1 As SByte = -102
Console.WriteLine(sbyteValue1)
Dim sbyteValue4 As SByte = &H9A
Console.WriteLine(sbyteValue4)
Dim sbyteValue5 As SByte = &B1001_1010
Console.WriteLine(sbyteValue5)
' The example displays the following output:
' -102
' -102
' -102
참고 항목
16진수 리터럴을 나타내려면 접두사 &h
또는 &H
을(를) 사용하고, 이진수 리터럴을 나타내려면 접두사 &b
또는 &B
을(를) 사용하고, 8진수 리터럴을 나타내려면 접두사 &o
또는 &O
을(를) 사용합니다. 10진수 리터럴에는 접두사가 없습니다.
Visual Basic 2017부터 다음 예와 같이 밑줄 문자 _
을 숫자 구분 기호로 사용하여 가독성을 높일 수도 있습니다.
Dim sbyteValue3 As SByte = &B1001_1010
Console.WriteLine(sbyteValue3)
' The example displays the following output:
' -102
Visual Basic 15.5부터 밑줄 문자(_
)를 접두사와 16진수, 이진수, 8진수 사이의 선행 구분 기호로 사용할 수도 있습니다. 예시:
Dim number As SByte = &H_F9
선행 구분 기호로 밑줄 문자를 사용하려면 Visual Basic 프로젝트(*.vbproj) 파일에 다음 요소를 추가해야 합니다.
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
자세한 내용은 Visual Basic 언어 버전 선택을 참조하세요.
정수 리터럴이 SByte
범위를 벗어나는 경우(즉 SByte.MinValue보다 작거나 SByte.MaxValue보다 큰 경우) 컴파일 오류가 발생합니다. 정수 리터럴에 접미사가 없으면 정수로 추측됩니다. 정수 리터럴이 Integer
형식의 범위를 벗어나면 Long으로 유추됩니다. 즉, 이전 예제에서 숫자 리터럴 0x9A
및 0b10011010
(은)는 값이 SByte.MaxValue을 초과하는 156인 부호 있는 32비트 정수로 해석됩니다. 10진수가 아닌 정수를 SByte
에 할당하는 다음과 같은 코드를 성공적으로 컴파일하려면 다음 중 하나를 수행할 수 있습니다.
/removeintchecks
컴파일러 스위치를 사용해 컴파일하여 정수 범위 검사를 사용하지 않도록 설정합니다.형식 문자를 사용하여
SByte
에 할당할 리터럴 값을 명시적으로 정의합니다. 다음 예제에서는 음수 리터럴Short
값을SByte
에 할당합니다. 음수의 경우 숫자 리터럴 중 상위 단어의 상위 비트를 설정해야 합니다. 예제의 경우 리터럴Short
값의 15비트입니다.Dim sByteValue1 As SByte = &HFF_9As Dim sByteValue2 As SByte = &B1111_1111_1001_1010s Console.WriteLine(sByteValue1) Console.WriteLine(sByteValue2)
프로그래밍 팁
CLS 준수.
SByte
데이터 형식은 CLS(공용 언어 사양)의 일부가 아니므로 CLS 규격 코드는 이를 사용하는 구성 요소를 사용할 수 없습니다.Widening.
SByte
데이터 형식은Short
,Integer
,Long
,Decimal
,Single
및Double
로 확장됩니다. 이는 System.OverflowException 오류 발생 없이SByte
를 이러한 형식 중 하나로 변환할 수 있음을 의미합니다.형식 문자.
SByte
에는 리터럴 형식 문자 또는 식별자 형식 문자가 없습니다.프레임워크 형식. .NET Framework에서 해당하는 형식은 System.SByte 구조체입니다.
참고 항목
.NET