Resumo : neste tutorial, você aprenderá como usar os tipos inteiros C# para representar os números inteiros.
Introdução aos inteiros C#
Inteiros são números inteiros, por exemplo -1, 0, 1, 2, 3. C# usa tipos numéricos integrais para representar números inteiros. Até agora, você aprendeu como usar o int
tipo para declarar uma variável que contém um número inteiro.
Além do int
tipo, C# possui outros tipos inteiros com suas palavras-chave, intervalo e tamanho específicos.
A tabela a seguir ilustra as características de todos os tipos inteiros em C#:
Tipo/palavra-chave C# | Faixa | Tamanho |
---|---|---|
sbyte |
-128 a 127 | Inteiro assinado de 8 bits |
byte |
0 a 255 | Inteiro não assinado de 8 bits |
short |
-32.768 a 32.767 | Inteiro assinado de 16 bits |
ushort |
0 a 65.535 | Inteiro não assinado de 16 bits |
int |
-2.147.483.648 a 2.147.483.647 | Inteiro assinado de 32 bits |
uint |
0 a 4.294.967.295 | Inteiro não assinado de 32 bits |
long |
-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 | Inteiro assinado de 64 bits |
ulong |
0 a 18.446.744.073.709.551.615 | Inteiro não assinado de 64 bits |
C# também possui outros dois tipos inteiros nint
e nunit
cujos intervalos dependem da plataforma específica.
Se você declarar uma variável com um tipo inteiro e atribuir um valor fora do intervalo, receberá um erro de compilação.
Por exemplo, o seguinte declara uma variável age com o tipo byte e inicializa seu valor com um valor inválido 256:
byte age = 256;
Linguagem de código: C# ( cs )
Ao compilar o código, o compilador emite o seguinte erro:
error CS0031: Constant value '256' cannot be converted to a 'byte'
Linguagem de código: texto simples ( texto simples )
Valores mínimo e máximo
Cada tipo inteiro possui as constantes MinValue
e MaxValue
que fornecem o mínimo e o máximo do tipo. Para acessar esses valores, você usa o operador ponto ( .
). Por exemplo:
int.MinValue
int.MaxValue
Linguagem de código: CSS ( css )
O seguinte exibe o intervalo do int
tipo:
Console.WriteLine($"int range: ({int.MinValue},{int.MaxValue})");
Linguagem de código: C# ( cs )
Saída:
int range: (-2147483648,2147483647)
Literais inteiros
Literais inteiros podem ser decimais, hexadecimais e binários.
Decimal
O exemplo a seguir mostra os literais inteiros em decimal sem qualquer prefixo:
int quantity = 10;
int amount = 20;
Linguagem de código: C# ( cs )
Se um número for grande, você poderá usar o separador de dígitos (_) para torná-lo mais legível. Observe que você pode usar o separador de dígitos ( _
) para todos os literais inteiros, não apenas para decimais. Por exemplo:
int prize = 1_000_000;
Linguagem de código: C# ( cs )
Hexadecimal
Os números hexadecimais têm o prefixo 0x
ou 0X
. Por exemplo:
int address = 0x5A;
Linguagem de código: C# ( cs )
Binário
Os números binários têm o prefixo 0b
ou 0B
. Por exemplo:
int flag = 0b10011110;
Linguagem de código: C# ( cs )
Além disso, você pode usar o separador de dígitos ( _
) para separar os dígitos assim:
int flag = 0b_1001_1110;
Linguagem de código: C# ( cs )
Resumo
- Use o tipo inteiro C# para representar números inteiros.
- Use o separador de dígitos (
_
) com números grandes para torná-los mais legíveis.