Constantes Inteiras

Descrição

Constantes Inteiras são números usados diretamente em um sketch, como 123. Por padrão, esses números são tratados como int mas você pode mudar isso com os modificadores U e L (ver abaixo).

Normalmente, constantes inteiras são tratadas como inteiros na base 10 (decimais), mas notações especiais (modificadores) podem ser usados para escrever-se números em outras bases.

Base Exemplo Modificador Comentário
10 (decimal)123nenhum
2 (binário)B1111011prefixo 'B'funciona apenas com valores 8-bit (0 a 255) caracteres 0 e 1 válidos
8 (octal)0173prefixo "0"caracteres 0-7 válidos
16 (hexadecimal)0x7Bprefixo "0x"caracteres 0-9, A-F, a-f válidos

Decimal (base 10)

Essa é a matemática de senso comum a qual você já está acostumado. Constantes sem prefixos são assumidas como valores decimais.

Código de Exemplo:

n = 101; // o mesmo que 101 decimal ((1 * 10^2) + (0 * 10^1) + 1)

Binário (base 2)

Apenas os caracteres 0 e 1 são válidos.

Código de Exemplo:

n = B101; // o mesmo que 5 decimal ((1 * 2^2) + (0 * 2^1) + 1)

O modificador binário funciona apenas em bytes (8 bits), ou seja, entre 0 (B0) e 255 (B11111111). Se for conveniente inserir um int (16 bits) em formato binário, você pode fazê-lo com um procedimento em dois passos, como:

meuInt = (B11001100 * 256) + B10101010; // B11001100 é o byte mais significativo

Octal (base 8)

Apenas os caracteres 0 a 7 são válidos. Valores octais são indicados pelo prefixo "0" (zero).

Código de Exemplo:

n = 0101; // o mesmo que 65 decimal ((1 * 8^2) + (0 * 8^1) + 1)

Cuidado: é possível criar um bug difícil de encontrar (acidentalmente), caso seja inserido um zero antes de uma constante, fazendo com que o compilador interprete sua constante como octal.

Hexadecimal (base 16)

Os caracteres válidos são 0 a 9 e as letras A a F; A possui valor 10, B é 11, até o F, que é 15. Valores hexadecimais são indicados pelo prefixo "0x". Note que as letras A-F podem ser também iseridas em minúsculo (a-f).

Código de Exemplo:

n = 0x101; // o qmesmo que 257 decimal ((1 * 16^2) + (0 * 16^1) + 1)

※ Notas e Advertências:

Modificadores 'U' e 'L':

Por padrão, uma constante inteira é tratada como int com as mesmas limitações desse tipo de dado. Para especificar uma constante inteira com outro tipo de dado, termine-a com:

  • Um 'u' ou 'U' para forçar a constante para formato unsigned (sem sinal). Exemplo: 33u
  • Um 'l' ou 'L' para forçar a constante para formato long. Exemplo: 100000L
  • Um 'ul' ou 'UL' para forçar a constante para formato unsigned long. Exemplo: 32767ul

Ver Também

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.