Esta página também está disponível em outros 2 idiomas.

Constantes Inteiras

[Constants]

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)

123

nenhum

2 (binário)

B1111011

prefixo 'B'

funciona apenas com valores 8-bit (0 a 255) caracteres 0 e 1 válidos

8 (octal)

0173

prefixo "0"

caracteres 0-7 válidos

16 (hexadecimal)

0x7B

prefixo "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