Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Visual Basic proporciona varios tipos de datos numéricos para controlar números en varias representaciones. Los tipos enteros solo representan números enteros (positivos, negativos y cero) y los tipos no enteros representan números con elementos enteros y fraccionarios.
Para ver una tabla que muestra una comparación en paralelo de los tipos de datos de Visual Basic, vea Tipos de datos.
Tipos numéricos enteros
Los tipos de datos enteros son aquellos que representan solo números sin partes fraccionarios.
Los tipos de datos enteros firmados son Tipo de datos SByte (8 bits), Tipo de datos Short (16 bits), Tipo de datos Integer (32 bits), y Tipo de datos Long (64 bits). Si una variable siempre almacena enteros en lugar de números fraccionarios, declárelo como uno de estos tipos.
Los tipos de datos enteros sin firmar son Byte (8 bits), UShort (16 bits), UInteger (32 bits) y ULong (64 bits). Si una variable contiene datos binarios o datos de naturaleza desconocida, declárelo como uno de estos tipos.
Rendimiento
Las operaciones aritméticas son más rápidas con tipos enteros que con otros tipos de datos. Los más rápidos son con Integer
y UInteger
en Visual Basic.
Enteros grandes
Si necesita manejar un entero mayor de lo que puede el tipo de datos Integer
, entonces puede usar el tipo de datos Long
en su lugar.
Long
las variables pueden contener números de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Las operaciones con Long
son ligeramente más lentas que con Integer
.
Si necesita valores aún mayores, puede usar el tipo de datos decimal. Puede contener números de -79.228.162.514.264.337.593.543.950.335 a 79 228 162 514 264 337 593 543 950 335 en una Decimal
variable si no usa ninguna posición decimal. Sin embargo, las operaciones con Decimal
números son considerablemente más lentas que con cualquier otro tipo de datos numérico.
Enteros pequeños
Si no necesita el intervalo completo del tipo de Integer
datos, puede usar el Short
tipo de datos , que puede contener enteros de -32 768 a 32 767. Para el intervalo entero más pequeño, el SByte
tipo de datos contiene enteros de -128 a 127. Si tiene un gran número de variables que contienen enteros pequeños, Common Language Runtime a veces puede almacenar las Short
variables y SByte
de forma más eficaz y ahorrar el consumo de memoria. Sin embargo, las operaciones con Short
y SByte
son algo más lentas que con Integer
.
Enteros sin signo
Si sabe que la variable nunca necesita contener un número negativo, puede usar los tiposByte
sin firmar, UShort
, UInteger
y ULong
. Cada uno de estos tipos de datos puede contener un entero positivo dos veces mayor que su tipo con signo correspondiente (SByte
, Short
, Integer
y Long
). En términos de rendimiento, cada tipo sin signo es exactamente tan eficaz como su tipo con signo correspondiente. En concreto, UInteger
comparte con Integer
la distinción de ser el más eficaz de todos los tipos de datos numéricos elementales.
Tipos numéricos no enteros
Los tipos de datos no inintegrales son aquellos que representan números con elementos enteros y fraccionarios.
Los tipos de datos numéricos no enteros son Decimal
(punto fijo de 128 bits), Tipo de datos único (punto flotante de 32 bits) y Tipo de datos doble (punto flotante de 64 bits). Todos son tipos con signo. Si una variable puede contener una fracción, declárela como uno de estos tipos.
Decimal
no es un tipo de datos de punto flotante.
Decimal
los números tienen un valor entero binario y un factor de escalado entero que especifica qué parte del valor es una fracción decimal.
Puede usar Decimal
variables para valores de dinero. La ventaja es la precisión de los valores. El Double
tipo de datos es más rápido y requiere menos memoria, pero está sujeto a errores de redondeo. El Decimal
tipo de datos conserva la precisión completa en 28 posiciones decimales.
Los números de punto flotante (Single
y Double
) tienen intervalos mayores que Decimal
los números, pero pueden estar sujetos a errores de redondeo. Los tipos de punto flotante admiten menos dígitos significativos que Decimal
pero pueden representar valores de mayor magnitud.
Los valores de número nointegral se pueden expresar como mmmEeee, en los que mmm es la mantisa (los dígitos significativos) y eee es el exponente (una potencia de 10). Los valores positivos más altos de los tipos no enteros son 7.9228162514264337593543950335E+28 para Decimal
, 3.4028235E+38 para y 1.79769313486231570E+308 para Single
Double
.
Rendimiento
Double
es el más eficaz de los tipos de datos fraccionarios, ya que los procesadores de las plataformas actuales realizan operaciones de punto flotante en doble precisión. Sin embargo, las operaciones con Double
no son tan rápidas como con los tipos enteros, como Integer
.
Pequeñas magnitudes
Para los números con la magnitud más pequeña posible (más cercana a 0), Double
las variables pueden contener números tan pequeños como -4,94065645841246544E-324 para valores negativos y 4,94065645841246544E-324 para los valores positivos.
Números fraccionarios pequeños
Si no necesita el intervalo completo del tipo de Double
datos, puede usar el Single
tipo de datos, que puede contener números de punto flotante de -3.4028235E+38 a 3.4028235E+38. Las magnitudes más pequeñas para Single
las variables son -1,401298E-45 para los valores negativos y 1,401298E-45 para los valores positivos. Si tiene un gran número de variables que contienen números de punto flotante pequeños, Common Language Runtime a veces puede almacenar las Single
variables de forma más eficaz y ahorrar consumo de memoria.