Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Visual Basic fornece vários tipos de dados numéricos para lidar com números em várias representações. Os tipos integrais representam apenas números inteiros (positivos, negativos e zero) e os tipos nonintegral representam números com partes inteiras e fracionárias.
Para obter uma tabela mostrando uma comparação lado a lado dos tipos de dados do Visual Basic, consulte Tipos de Dados.
Tipos numéricos integrais
Tipos de dados integrais são aqueles que representam apenas números sem partes fracionárias.
Os tipos de dados integrais assinados são Tipo de Dados SByte (8 bits), Tipo de Dados Curto (16 bits), Tipo de Dados Inteiro (32 bits) e Tipo de Dados Longos (64 bits). Se uma variável sempre armazenar inteiros em vez de números fracionários, declare-a como um desses tipos.
Os tipos integrais não assinados são Tipo de Dados Byte (8 bits), Tipo de Dados UShort (16 bits), Tipo de Dados UInteger (32 bits) e Tipo de Dados ULong (64 bits). Se uma variável contiver dados binários ou dados de natureza desconhecida, declare-a como um desses tipos.
Desempenho
As operações aritméticas são mais rápidas com tipos integrais do que com outros tipos de dados. Eles são mais rápidos com os tipos Integer
e UInteger
no Visual Basic.
Inteiros grandes
Se você precisar armazenar um inteiro maior que o Integer
tipo de dados suporta, poderá usar o Long
tipo de dados.
Long
as variáveis podem conter números de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. As operações com Long
são ligeiramente mais lentas do que com Integer
.
Se você precisar de valores ainda maiores, poderá usar o Tipo de Dados Decimal. Você pode armazenar números de -79.228.162.514.264.337.593.543.950.335 a 79.228.162.514.264.337.593.543.950.335 em uma variável Decimal
se não usar casas decimais. No entanto, as operações com Decimal
números são consideravelmente mais lentas do que com qualquer outro tipo de dados numérico.
Inteiros Pequenos
Se você não precisar do intervalo completo do tipo de Integer
dados, poderá usar o Short
tipo de dados, que pode conter inteiros de -32.768 a 32.767. Para o menor intervalo de inteiros, o SByte
tipo de dados contém inteiros de -128 a 127. Se você tiver um número muito grande de variáveis que contêm números inteiros pequenos, o tempo de execução comum pode, às vezes, armazenar suas Short
e SByte
variáveis mais eficientemente e economizar o consumo de memória. No entanto, as operações com Short
e SByte
são um pouco mais lentas do que com Integer
.
Inteiros sem Sinal
Se você souber que sua variável nunca precisa conter um número negativo, poderá usar os tipos Byte
, UShort
UInteger
e ULong
. Cada um desses tipos de dados pode conter um inteiro positivo duas vezes maior que seu tipo assinado correspondente (SByte
, , Short
Integer
e Long
). Em termos de desempenho, cada tipo não assinado é exatamente tão eficiente quanto seu tipo assinado correspondente. Em particular, UInteger
compartilha com Integer
a distinção de ser o mais eficiente de todos os tipos de dados numéricos elementares.
Tipos Numéricos Não Integrais
Tipos de dados nonintegral são aqueles que representam números com partes inteiras e fracionárias.
Os tipos de dados numéricos nonintegral são Decimal
(ponto fixo de 128 bits), Tipo de Dados Único (ponto flutuante de 32 bits) e Tipo de Dados Duplo (ponto flutuante de 64 bits). Todos eles são tipos assinados. Se uma variável puder conter uma fração, declare-a como um desses tipos.
Decimal
não é um tipo de dados de ponto flutuante.
Decimal
os números têm um valor inteiro binário e um fator de dimensionamento inteiro que especifica qual parte do valor é uma fração decimal.
Você pode usar Decimal
variáveis para valores monetários. A vantagem é a precisão dos valores. O Double
tipo de dados é mais rápido e requer menos memória, mas está sujeito a erros de arredondamento. O Decimal
tipo de dados mantém precisão total até 28 casas decimais.
Os números de ponto flutuante (Single
e Double
) têm intervalos maiores do que os números Decimal
, mas podem estar sujeitos a erros de arredondamento. Os tipos de ponto flutuante dão suporte a menos dígitos significativos do que Decimal
, mas podem representar valores de maior magnitude.
Os valores de número nonintegral podem ser expressos como mmmEeee, em que mmm é a mantissa (os dígitos significativos) e eee é o expoente (uma potência de 10). Os valores positivos mais altos dos tipos nonintegral são 7.922816251426437593543950335E+28 for Decimal
, 3.4028235E+38 para Single
, e 1,79769313486231570E+308 para Double
.
Desempenho
Double
é o mais eficiente dos tipos de dados fracionários, pois os processadores nas plataformas atuais executam operações de ponto flutuante em precisão dupla. No entanto, as operações com Double
não são tão rápidas quanto com os tipos integrais, como Integer
.
Pequenas Magnitudes
Para números com a menor magnitude possível (mais próximo de 0), Double
as variáveis podem conter números tão pequenos quanto -4.94065645841246544E-324 para valores negativos e 4,94065645841246544E-324 para valores positivos.
Números fracionários pequenos
Se você não precisar do intervalo completo do tipo de Double
dados, poderá usar o Single
tipo de dados, que pode conter números de ponto flutuante de -3,4028235E+38 a 3,4028235E+38. As menores magnitudes para Single
variáveis são -1,401298E-45 para valores negativos e 1,401298E-45 para valores positivos. Se você tiver um número muito grande de variáveis que contêm números de ponto flutuante pequenos, o common language runtime às vezes pode armazenar suas Single
variáveis com mais eficiência e economizar o consumo de memória.