Como converter entre bases numéricas?
Para converter um número decimal para outra base, divida-o repetidamente pela base de destino e leia os restos na ordem inversa; para converter para decimal, multiplique cada dígito pelo seu valor posicional e some os resultados. Exemplo: o decimal 255 é 11111111 em binário, 377 em octal e FF em hexadecimal.
Passos para converter um número decimal para outra base
- Divida o número decimal pela base de destino e anote o resto.
- Divida o quociente do passo anterior pela base novamente, anotando cada resto.
- Repita até o quociente chegar a 0.
- Leia os restos na ordem inversa (o último calculado primeiro) para obter o número convertido.
- Para hexadecimal, substitua os restos de 10 a 15 pelas letras A a F.
Conversão de base numérica
Valor decimal = Soma de (dígito x base^posição), lendo as posições da direita para a esquerda a partir de 0
- Base 2 (binário) usa os dígitos 0-1 · Base 8 (octal) usa os dígitos 0-7
- Base 10 (decimal) usa os dígitos 0-9 · Base 16 (hexadecimal) usa os dígitos 0-9 e A-F
Exemplos de conversão nas quatro bases
| Decimal | Binário | Octal | Hexadecimal |
|---|
| 255 | 11111111 | 377 | FF |
| 100 | 1100100 | 144 | 64 |
| 42 | 101010 | 52 | 2A |
| 1000 | 1111101000 | 1750 | 3E8 |
| 8 | 1000 | 10 | 8 |
Perguntas frequentes
Por que os computadores usam binário em vez de decimal?
O hardware dos computadores é construído com transistores que são lidos de forma mais confiável em dois estados, ligado ou desligado, que correspondem naturalmente aos dígitos binários 1 e 0. Usar dois estados em vez de dez reduz a chance de ler um sinal errado.
Por que o hexadecimal é comum em programação?
Cada dígito hexadecimal representa exatamente 4 bits binários, então um byte (8 bits) é sempre exatamente 2 dígitos hexadecimais, como FF para 11111111. Isso torna o hexadecimal uma forma compacta e legível de representar valores binários, comum em códigos de cor e endereços de memória.
Como converto um número binário de volta para decimal?
Multiplique cada dígito binário por 2 elevado à sua posição, começando do 0 à direita, e some os resultados. Por exemplo, o binário 1010 é (1x8) + (0x4) + (1x2) + (0x1) = 10 em decimal.
Quais caracteres são inválidos em cada base?
O binário só aceita 0 e 1; o octal aceita de 0 a 7; o decimal aceita de 0 a 9; o hexadecimal aceita de 0 a 9 e de A a F, sem diferenciar maiúsculas de minúsculas. Digitar qualquer outro caractere mostra um erro para aquela base.
Esta ferramenta converte apenas números inteiros não negativos; ela não trata números negativos, valores fracionários (não inteiros) nem bases além de 2, 8, 10 e 16.
Sources: Donald E. Knuth, The Art of Computer Programming, Vol. 2: Seminumerical Algorithms (positional numeral systems)