Tipo de dados byte (Visual Basic)
Armazena inteiros de 8 bits (1 bytes) sem sinal que variam em valor de 0 a 255.
Comentários
Use o tipo de dados Byte
para conter dados binários.
O valor padrão de Byte
é 0.
Atribuições literais
Você pode declarar e inicializar uma variável Byte
atribuindo a ela um literal decimal, hexadecimal, octal ou (a partir do Visual Basic 2017) binário. Se o literal integral estiver fora do intervalo de Byte
(ou seja, se for menor que Byte.MinValue ou maior que Byte.MaxValue), ocorrerá um erro de compilação.
No exemplo a seguir, inteiros iguais a 201 representados como literais decimais, hexadecimais e binários são implicitamente convertidos de valores Integer para 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
Observação
Use o prefixo &h
ou &H
para indicar um literal hexadecimal, &b
ou &B
para indicar um literal binário e &o
ou &O
para indicar um literal octal. Literais decimais não têm nenhum prefixo.
A partir do Visual Basic 2017, você também pode usar o caractere de sublinhado, _
, como separador de dígitos para melhorar a legibilidade, como no exemplo a seguir.
Dim byteValue3 As Byte = &B1100_1001
Console.WriteLine(byteValue3)
' The example displays the following output:
' 201
A partir do Visual Basic 15.5, você também pode usar o caractere de sublinhado (_
) como separador à esquerda entre o prefixo e os dígitos hexadecimais, binários ou octais. Por exemplo:
Dim number As Byte = &H_6A
Para usar o caractere de sublinhado como separador à esquerda, você deve adicionar o seguinte elemento ao arquivo de projeto do Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Para obter mais informações, consulte Selecionar a versão da linguagem Visual Basic.
Dicas de programação
Números Negativos. Como
Byte
é um tipo sem sinal, não pode representar um número negativo. Se você usar o operador unário menos (-
) em uma expressão avaliada como tipoByte
, o Visual Basic primeiro converterá a expressão emShort
.Conversões de formato. Quando o Visual Basic lê ou grava arquivos, ou quando chama DLLs, métodos e propriedades, ele pode fazer a conversão automática entre formatos de dados. Os dados binários armazenados em variáveis
Byte
e matrizes são preservados durante essas conversões de formato. Você não deve usar uma variávelString
para dados binários, pois o conteúdo pode ser corrompido durante a conversão entre formatos ANSI e Unicode.Ampliação. O tipo de dados
Byte
é ampliado paraShort
,UShort
,Integer
,UInteger
,Long
,ULong
,Decimal
,Single
ouDouble
. Isso significa que você pode converterByte
em qualquer um desses tipos sem a ocorrência de um erro System.OverflowException.Caracteres de tipo.
Byte
não tem nenhum caractere de tipo literal nem caractere de identificação de tipo.Tipo do Framework. O tipo correspondente no .NET Framework é a estrutura System.Byte.
Exemplo
No exemplo a seguir, b
é uma variável Byte
. As instruções demonstram o intervalo da variável e a aplicação de operadores de turno de bit para ela.
' 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)