O que é uma base numérica
Uma base numérica diz quantos algarismos diferentes o sistema usa e quanto vale cada posição. No decimal (base 10) são dez algarismos, de 0 a 9, e cada posição vale 10 vezes a da direita: 345 = 3·100 + 4·10 + 5·1.
Na eletrônica digital aparecem outras três bases:
- Binário (base 2): só 0 e 1, os dois estados de um bit. É como o microcontrolador guarda tudo.
- Hexadecimal (base 16): algarismos de 0 a 9 e de A a F (A = 10, B = 11, …, F = 15). Cada dígito hexadecimal equivale a exatamente 4 bits, por isso é o jeito curto de escrever um byte:
1100 1010viraCA. - Octal (base 8): de 0 a 7, cada dígito equivale a 3 bits. Aparece em permissões de arquivo no Linux e em equipamentos antigos.
Em código, os prefixos mais comuns são 0b para binário (0b1010), 0o ou só 0 para octal e 0x para hexadecimal (0xCA). O conversor aceita os prefixos 0b, 0o e 0x, e ignora espaços e _.
Como converter de qualquer base para decimal
Multiplique cada dígito pela potência da base da sua posição (a da direita é a posição 0) e some tudo.
Exemplo: 1100 1010 em binário.
- As posições com 1 são a 7, a 6, a 3 e a 1.
- 1·2⁷ + 1·2⁶ + 1·2³ + 1·2¹ = 128 + 64 + 8 + 2 = 202.
Em hexadecimal, CA = 12·16¹ + 10·16⁰ = 192 + 10 = 202.
Como converter de decimal para outra base
Divida o número pela base de destino, anote o resto e repita com o quociente até ele chegar a zero. Os restos, lidos de baixo para cima, são os dígitos.
Exemplo: 202 para hexadecimal.
| Divisão | Quociente | Resto |
|---|---|---|
| 202 ÷ 16 | 12 | 10 (A) |
| 12 ÷ 16 | 0 | 12 (C) |
De baixo para cima: CA. O mesmo método com divisões por 2 dá 11001010 e com divisões por 8 dá 312.
Atalho entre binário e hexadecimal
Como 16 = 2⁴, não precisa passar pelo decimal: separe o binário em grupos de 4 bits a partir da direita e troque cada grupo pelo seu dígito.
| Binário | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |
|---|---|---|---|---|---|---|---|---|
| Hexadecimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| Binário | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
|---|---|---|---|---|---|---|---|---|
| Hexadecimal | 8 | 9 | A | B | C | D | E | F |
1100 1010 = C A = CA. Com o octal é igual, em grupos de 3 bits: 011 001 010 = 312.
Números negativos: complemento de dois
Um registrador de 8 bits guarda 256 padrões (de 0000 0000 a 1111 1111). Lidos sem sinal, eles valem de 0 a 255. Lidos com sinal, em complemento de dois, o bit mais à esquerda indica o sinal e a faixa vai de −128 a 127.
A regra para N bits:
- Do padrão para o número: se o bit mais à esquerda é 0, o valor é o próprio padrão; se é 1, o valor é o padrão menos 2ᴺ.
- Do número para o padrão: se o número é negativo, some 2ᴺ.
Exemplo em 8 bits (2⁸ = 256): o padrão CA = 202 começa com 1, então vale 202 − 256 = −54. No sentido contrário, −54 + 256 = 202 = CA.
O método de cabeça dá o mesmo resultado: escreva 54 em binário (0011 0110), inverta todos os bits (1100 1001) e some 1 (1100 1010).
| Tamanho | Faixa sem sinal | Faixa com sinal |
|---|---|---|
| 8 bits | 0 a 255 | −128 a 127 |
| 16 bits | 0 a 65.535 | −32.768 a 32.767 |
| 32 bits | 0 a 4.294.967.295 | −2.147.483.648 a 2.147.483.647 |
| 64 bits | 0 a 18.446.744.073.709.551.615 | −9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 |
Limitações
- O conversor trabalha só com números inteiros: parte fracionária e ponto flutuante (IEEE 754) ficam de fora.
- No modo sem sinal, o limite é 1.024 bits; o passo a passo aparece até 64 bits.
- Um valor de 16 ou 32 bits pode ser gravado com os bytes em ordens diferentes (big-endian ou little-endian, comum no Modbus). Confira no manual do equipamento.
Perguntas frequentes
Como converter binário para decimal?
Some as potências de 2 das posições que têm 1, contando a partir de 0 na direita. 1010 = 2³ + 2¹ = 8 + 2 = 10.
Como converter decimal para binário?
Divida por 2 até o quociente zerar e leia os restos de baixo para cima. 10 ÷ 2 = 5 resto 0; 5 ÷ 2 = 2 resto 1; 2 ÷ 2 = 1 resto 0; 1 ÷ 2 = 0 resto 1 → 1010.
Quanto vale FF em decimal?
255 sem sinal (15·16 + 15). Em 8 bits com sinal, FF vale −1.
Por que o hexadecimal usa letras? A base 16 precisa de 16 algarismos e só existem 10 (de 0 a 9). As letras de A a F completam os valores de 10 a 15.
Quantos bits tem um byte? 8 bits, ou 2 dígitos hexadecimais. Um byte guarda de 0 a 255 sem sinal.
Para ler o valor de um resistor pelas faixas coloridas, use o código de cores de resistores.