Compartilhar via


Tipos de Dados Numéricos

Visual Basic fornece vários tipos de dados numéricos para tratar números em diversas representações.Tipos Integral representam apenas números inteiros (positivo, negativo e zero), e tipos nonintegral representam números com partes inteira e fracionária.

Para obter uma tabela que mostre uma comparação lado-a-lado dos Visual Basic tipos de dados, consulte Resumo de tipo de dados (Visual Basic).

Tipos Numéricos Integral

Tipos de dados integral são aqueles que representam apenas números sem partes fracionárias.

Os tipos de dados integral com sinal são Tipo de dado SByte (Visual Basic) (8-bit), Tipo de dados Short (Visual Basic) (16 bits), Tipo de Dados Inteiro (Visual Basic) (32 bits) e Tipo de dados Long (Visual Basic) (64 bits).Se uma variável sempre armazena números inteiros em vez de números fracionários, declare-a como um desses tipos.

O tipos integral sem-sinal são Tipo de dados Byte (Visual Basic) (8-bit), Tipo de dados UShort (Visual Basic) (16 bits), Tipo de dados UInteger (32 bits) e Tipo de dados ULong (Visual Basic) (64 bits).Se uma variável contiver dados binários, ou de natureza desconhecida, declare-a como um desses tipos.

Desempenho

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 tipos Integer e UInteger no Visual Basic.

Inteiros Grandes

Se você precisar Isenção um número inteiro maior que o Integer tipo de dados pode Isenção, você pode usar o Long tipo de dados em vez disso. Long as variáveis podem Isenção números de -9.223.372.036.854.775.808 através de 9.223.372.036.854.775.807. Operações com Long são um pouco mais lentas do que com Integer.

Se você precisar de valores ainda maiores, você pode usar o Tipo de dados decimais (Visual Basic).Você pode armazenar números de-79,228,162,514,264,337,593,543,950,335 até 79,228,162,514,264,337,593,543,950,335 em uma variável Decimal se você não usa nenhuma casa decimal.No entanto, operações com números Decimal números são consideravelmente mais lentas do que com qualquer outro tipo de dados numérico.

Inteiros Pequenos

Se você não precisa completo intervalo do Integer tipo de dados, você pode usar o Short tipo de dados, que pode armazenar números inteiros de -32.768 até 32.767. Para o menor intervalo inteiro, a SByte tipo de dados contém números inteiros de -128 a 127. Se você tiver um número muito grande de variáveis que Isenção inteiros pequenos, o common linguagem tempo de execução, às vezes, podem armazenar seu Short e SByte variáveis de maneira mais eficiente e economizar o consumo de memória. No entanto, 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 precisará armazenar um número negativo, você pode usar os tipos sem-sinal Byte,UShort,UInteger e ULong.Cada um desses tipos de dados pode conter um número inteiro positivo duas vezes o tamanho de seu tipo com sinal correspondente (SByte,Short,Integer e Long).Em termos de desempenho, cada tipo sem-sinal é tão eficiente quanto seu tipo com sinal correspondente.Em particular, UInteger compartilha com Integer a distinção de ser o mais eficiente de todos os tipos de dados numérico elementar.

Tipos Numéricos Nonintegral

Os tipos de dados nonintegral são aqueles que representam números com partes inteira e fracionária.

Os tipos de dados numéricos nonintegral são Decimal (128 bits fixo ponto), Tipo de dados único (Visual Basic) (32-bit ponto flutuante) e Tipo de dados duplo (Visual Basic) (64-Bit ponto flutuante).Todos eles são tipos com sinal.Se uma variável pode conter uma fração, declare-a como um desses tipos.

Decimal não é um tipo de dados de ponto flutuante. Decimal números têm um valor inteiro binário e um fator de escala de número inteiro que especifica qual parte do valor é uma fração decimal.

Números ponto flutuante (Single e Double) têm Intervalos maiores do que números Decimal mas podem ser sujeitos a erros de arredondamento.Tipos de ponto flutuante suportam menos dígitos significativos que Decimal mas podem representar valores de magnitude maior.

Valores numéricos 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.9228162514264337593543950335E + 28 para Decimal, 3.4028235E + 38 para Single e 1.79769313486231570E + 308 para Double.

Desempenho

Double é o mais eficiente dos tipos de dados fracionários, porque os processadores em plataformas atuais executam operações de ponto flutuante com precisão dupla.No entanto, operações com Double não são tão rápidas como com os tipos integrais como Integer.

Magnitudes Pequenas

Para números com o menor magnitude possível (próximos a 0), variáveis Double 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 precisa toda a gama do Double tipo de dados, você pode usar o Single tipo de dados, que pode conter números de ponto flutuante de 3.4028235E + 38 a 3.4028235E + 38. Os menores magnitudes de Single as variáveis são - 1, 401298E - 45 para valores negativos - e 1, 401298E 45 para valores positivos. Se você tiver um grande número de variáveis que armazenam números de ponto flutuante pequenos, o Common Language Runtime pode, às vezes, armazenar as variáveis Single forma mais eficiente e economizar memória.

Consulte também

Tarefas

Solucionando problemas de Tipos de Dados

Como: Armazenar números inteiros em uma variável

Como: Isenção Frações em uma variável

Como: Manter o maior número possível em uma variável

Como: Otimizar o armazenamento de números inteiros positivo com tipos não assinados

Como: Chamar uma função do Windows que leva os tipos não assinados

Como: Manter os dígitos mais significativos em uma variável

Como: Isenção a tecla Money valores em uma variável

Conceitos

Tipos de Dados de Caracteres

Tipos de dados variados

Outros recursos

Tipos de dados elementar