Tipo de datos Byte (Visual Basic)

Contiene enteros sin signo de 8 bits (1 bytes) cuyo valor oscila entre 0 y 255.

Comentarios

Use el tipo de datos Byte para contener datos binarios.

El valor predeterminado de Byte es 0.

Asignaciones de literales

Puede declarar e inicializar una variable Byte si la asigna a un literal decimal, un literal hexadecimal, un literal octal o (a partir de Visual Basic 2017) un literal binario. Si el literal integral está fuera del rango de Byte (es decir, si es inferior a Byte.MinValue o mayor que Byte.MaxValue), se produce un error de compilación.

En el ejemplo siguiente, los enteros que equivalen a 201 que se representan como literales binarios, hexadecimales y decimales se convierten implícitamente de Integer a valores 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

Nota

Use el prefijo &h o &H para denotar un literal hexadecimal, el prefijo &b o &B para denotar un literal binario y el prefijo &o o &O para denotar un literal octal. Los literales decimales no tienen prefijo.

A partir de Visual Basic 2017, también puede usar el carácter de subrayado, _, como un separador de dígitos para mejorar la legibilidad, tal como se muestra en el ejemplo siguiente.

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

A partir de Visual Basic 15.5 también puede usar el carácter de subrayado (_) como separador inicial entre el prefijo y los dígitos hexadecimales, binarios u octales. Por ejemplo:

Dim number As Byte = &H_6A

Para usar el carácter de subrayado como separador inicial, debe agregar el elemento siguiente al archivo del proyecto de Visual Basic (*.vbproj):

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

Para más información, consulte Selección de la versión del lenguaje de Visual Basic.

sugerencias de programación

  • Números negativos. Dado que Byte es un tipo sin signo, no puede representar un número negativo. Si usa el operador unario menos (-) en una expresión que se evalúa como tipo Byte, Visual Basic convierte primero la expresión en Short.

  • Conversiones de formato. Cuando Visual Basic lee o escribe archivos o cuando llama a archivos DLL, métodos y propiedades, puede realizar la conversión automáticamente entre formatos de datos. Los datos binarios almacenados en matrices y variables Byte se conservan durante dichas conversiones de formato. No debe usar una variable String para los datos binarios, ya que su contenido se puede dañar durante la conversión entre formatos ANSI y Unicode.

  • Ampliación. El tipo de datos Byte se amplía a Short, UShort, Integer, UInteger, Long, ULong, Decimal, Single o Double. Esto significa que puede convertir a Byte en cualquiera de estos tipos sin que se produzca un error System.OverflowException.

  • Caracteres de tipo. Byte no tiene caracteres de tipo literal ni caracteres de tipo identificador.

  • Tipo de Framework. El tipo correspondiente en .NET Framework es la estructura System.Byte.

Ejemplo

En el ejemplo siguiente, b es una variable Byte. Las instrucciones muestran el rango de la variable y la aplicación de operadores de desplazamiento de bits en ella.

' 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)

Consulte también