Tipo de datos entero (Visual Basic)Integer data type (Visual Basic)

Contiene enteros de 32 bits con signo (4 bytes) comprendidos en el intervalo entre -2.147.483.648 y 2.147.483.647.Holds signed 32-bit (4-byte) integers that range in value from -2,147,483,648 through 2,147,483,647.

ComentariosRemarks

El tipo de datos Integer proporciona un rendimiento óptimo en un procesador de 32 bits.The Integer data type provides optimal performance on a 32-bit processor. Los demás tipos enteros son más lentos a la hora de cargarse y almacenarse en la memoria.The other integral types are slower to load and store from and to memory.

El valor predeterminado de Integer es 0.The default value of Integer is 0.

Asignaciones de literalesLiteral assignments

Puede declarar e inicializar un Integer variable asignarle un decimal literal, un literal hexadecimal, un literal octal, o (a partir de Visual Basic de 2017) un literal binario.You can declare and initialize an Integer variable by assigning it a decimal literal, a hexadecimal literal, an octal literal, or (starting with Visual Basic 2017) a binary literal. Si el literal entero está fuera del intervalo de Integer (es decir, si es inferior a Int32.MinValue o mayor que Int32.MaxValue, se produce un error de compilación.If the integer literal is outside the range of Integer (that is, if it is less than Int32.MinValue or greater than Int32.MaxValue, a compilation error occurs.

En el ejemplo siguiente, los enteros que equivalen a 16 342 que se representan como literales binarios, hexadecimales y decimales se asignan a valores Integer.In the following example, integers equal to 16,342 that are represented as decimal, hexadecimal, and binary literals are assigned to Integer values.

Dim intValue1 As Integer = 90946
Console.WriteLine(intValue1)
Dim intValue2 As Integer = &H16342
Console.WriteLine(intValue2)

Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
'          90946
'          90946
'          90946

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.You use the prefix &h or &H to denote a hexadecimal literal, the prefix &b or &B to denote a binary literal, and the prefix &o or &O to denote an octal literal. Los literales decimales no tienen prefijo.Decimal literals have no prefix.

A partir de Visual Basic de 2017, también puede utilizar el carácter de subrayado, _, como un separador de dígitos para mejorar la legibilidad, como en el ejemplo siguiente se muestra.Starting with Visual Basic 2017, you can also use the underscore character, _, as a digit separator to enhance readability, as the following example shows.

Dim intValue1 As Integer = 90_946
Console.WriteLine(intValue1)

Dim intValue2 As Integer = &H0001_6342
Console.WriteLine(intValue2)

Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
'          90946
'          90946
'          90946

También pueden incluir literales numéricos el I escriba carácter para denotar el Integer tipo de datos, como se muestra en el ejemplo siguiente.Numeric literals can also include the I type character to denote the Integer data type, as the following example shows.

Dim number = &H035826I

Sugerencias de programaciónProgramming tips

  • Consideraciones de interoperabilidad.Interop Considerations. Si interactúa con componentes no se han escrito para .NET Framework, como los objetos de automatización o COM, recuerde que Integer tiene un ancho de datos diferente (16 bits) en otros entornos.If you are interfacing with components not written for the .NET Framework, such as Automation or COM objects, remember that Integer has a different data width (16 bits) in other environments. Al pasar un argumento de 16 bits a esos componentes, declárelo en el código de Visual Basic como Short en lugar de como Integer.If you are passing a 16-bit argument to such a component, declare it as Short instead of Integer in your new Visual Basic code.

  • De ampliación.Widening. El tipo de datos Integer se amplía a Long, Decimal, Single o Double.The Integer data type widens to Long, Decimal, Single, or Double. Esto significa que puede convertir un tipo de datos Integer en cualquiera de estos tipos sin que se produzca un error System.OverflowException.This means you can convert Integer to any one of these types without encountering a System.OverflowException error.

  • Caracteres de tipo.Type Characters. Al agregar el carácter de tipo literal I a un literal, el tipo de datos se convierte forzosamente en el tipo de datos Integer.Appending the literal type character I to a literal forces it to the Integer data type. Si se agrega el carácter de tipo identificador % a cualquier identificador, se convierte forzosamente al tipo Integer.Appending the identifier type character % to any identifier forces it to Integer.

  • Tipo de Framework.Framework Type. El tipo correspondiente en .NET Framework es la estructura System.Int32.The corresponding type in the .NET Framework is the System.Int32 structure.

IntervaloRange

Si intenta establecer una variable de un tipo entero en un número que está fuera del intervalo correspondiente a ese tipo, se produce un error.If you try to set a variable of an integral type to a number outside the range for that type, an error occurs. Si intenta establecerlo en una fracción, el número se redondea hacia arriba o hacia abajo al valor entero más cercano.If you try to set it to a fraction, the number is rounded up or down to the nearest integer value. Si el número está equidistante a dos valores enteros, el valor se redondea al entero par más próximo.If the number is equally close to two integer values, the value is rounded to the nearest even integer. Este comportamiento minimiza los errores de redondeo que se derivan de redondear de forma consistente un valor de punto medio en una dirección única.This behavior minimizes rounding errors that result from consistently rounding a midpoint value in a single direction. En el código siguiente se muestran ejemplos de redondeo.The following code shows examples of rounding.

' The valid range of an Integer variable is -2147483648 through +2147483647.  
Dim k As Integer  
' The following statement causes an error because the value is too large.  
k = 2147483648  
' The following statement sets k to 6.  
k = 5.9  
' The following statement sets k to 4  
k = 4.5  
' The following statement sets k to 6  
' Note, Visual Basic uses banker’s rounding (toward nearest even number)  
k = 5.5  

Vea tambiénSee also

System.Int32System.Int32
Tipos de datosData Types
Long (tipo de datos)Long Data Type
Short (tipo de datos)Short Data Type
Funciones de conversión de tiposType Conversion Functions
Resumen de conversiónConversion Summary
Uso eficiente de tipos de datosEfficient Use of Data Types