1001Ferramentas
🔢 Conversores

Binário, octal, decimal e hexadecimal: o guia visual

O que é uma base numérica, por que o computador fala binário, por que programadores adoram hexadecimal e como converter na mão.

Atualizado em 30 de junho de 2026 · 7 min de leitura

O que é uma base numérica

Você usa a base 10 desde a primeira aula de matemática, mas provavelmente nunca parou para pensar nela. "Base 10" significa apenas que existem dez símbolos diferentes para os dígitos: de 0 a 9. Quando você passa do 9, não inventa um símbolo novo — você reaproveita os mesmos dígitos e move uma casa para a esquerda. É a notação posicional: a posição de um dígito vale tanto quanto o dígito em si.

Olhe o número 2025. Ele não é "dois, zero, dois, cinco" empilhados. Cada casa vale uma potência de 10:

2025 = 2×10³ + 0×10² + 2×10¹ + 5×10⁰ = 2000 + 0 + 20 + 5.

Troque o 10 por outro número e você tem outra base. Numa base b, cada casa vale uma potência de b, e os dígitos válidos vão de 0 até b−1. A base 2 (binário) só usa 0 e 1. A base 8 (octal) usa de 0 a 7. A base 16 (hexadecimal) precisa de dezesseis símbolos, então pega emprestadas as letras A a F para representar 10 a 15.

DecimalBinárioOctalHexadecimal
0000
510155
81000108
10101012A
15111117F
16100002010

Repare na última linha: o "10" aparece em três bases diferentes representando três valores. "10" em binário é 2, em octal é 8, em hexadecimal é 16. Por isso programadores usam prefixos para avisar a base: 0b para binário, 0o para octal e 0x para hexadecimal. Sem o prefixo, 0x10 e 10 são números completamente diferentes.

Binário: a língua do computador

O computador fala binário não por capricho, mas por física. No fundo, um chip é um oceano de transistores, e um transistor é mais confiável quando precisa distinguir apenas dois estados: tem corrente ou não tem, tensão alta ou baixa. Chame um de 1 e o outro de 0 e você tem o bit, a menor unidade de informação. Tentar fazer um circuito distinguir dez níveis de tensão com precisão seria caro e propenso a erro — dois níveis são robustos.

Oito bits formam um byte. Como cada bit dobra a quantidade de combinações, um byte vai de 0000 0000 a 1111 1111, ou seja, 2⁸ = 256 valores diferentes, de 0 a 255. É por isso que esse número 255 aparece em tantos lugares: o vermelho máximo de uma cor, o último endereço de uma faixa de rede, o limite de um campo de um byte.

Para ler um número binário, some os pesos das casas onde há um 1. Em 1011, da direita para a esquerda os pesos são 1, 2, 4, 8:

1011 = 1×8 + 0×4 + 1×2 + 1×1 = 8 + 2 + 1 = 11.

O octal entra aqui como um atalho histórico. Como 8 é 2³, cada dígito octal corresponde exatamente a três bits. Sistemas antigos com palavras de 12, 24 ou 36 bits casavam bem com grupos de três, e até hoje o octal sobrevive nas permissões de arquivo do Unix: chmod 755 nada mais é do que 111 101 101 em binário — leitura/escrita/execução para o dono, leitura/execução para os demais.

Quer ver as quatro bases ao mesmo tempo? O Conversor de Bases Numéricas mostra binário, octal, decimal e hexadecimal lado a lado conforme você digita. Para converter entre duas bases específicas (inclusive bases incomuns como 3 ou 36), o Conversor de Base Numérica resolve.

Hexadecimal: por que programadores o adoram

Se o computador pensa em binário e nós pensamos em decimal, o hexadecimal é o tradutor diplomático no meio. O motivo é uma coincidência feliz: 16 é 2⁴, então cada dígito hexadecimal representa exatamente quatro bits, um pedaço chamado nibble. E dois nibbles formam um byte. Resultado: qualquer byte cabe em dois dígitos hex, de 00 a FF.

Isso torna a conversão entre binário e hexadecimal quase visual. Pegue o byte 1001 1100. Separe em dois grupos de quatro bits e traduza cada um:

  • 1001 = 9
  • 1100 = 12 = C

Logo, 1001 1100 = 9C em hexadecimal. Em decimal isso é 156 (9×16 + 12 = 144 + 12 = 156). Tente fazer o mesmo lendo "dez mil e onze" para enxergar quais bits estão ligados — é exatamente o tipo de fadiga mental que o hexadecimal elimina. Uma linha de 32 bits que seria um borrão de zeros e uns vira algo curto e legível como 0xDEADBEEF.

O prefixo 0x avisa a base. Você o vê em endereços de memória, em códigos de erro, em valores de registradores e em qualquer lugar onde olhar o padrão exato dos bits importa mais do que o valor "humano" do número.

Cores hex e endereços de memória

O uso de hexadecimal que mais gente conhece nem é de programadores: são as cores da web. Uma cor como #1E90FF são três bytes em sequência — um para vermelho, um para verde, um para azul. Quebre os seis dígitos em pares:

Par hexCanalValor (0–255)
1EVermelho30
90Verde144
FFAzul255

Então #1E90FF é RGB(30, 144, 255), um azul vivo. #FFFFFF é os três canais no máximo: branco. #000000 é tudo em zero: preto. Entender que cada par é só um byte de 0 a 255 desmistifica a notação inteira — não há nada de mágico, é binário escrito de forma compacta.

Endereços de memória seguem a mesma lógica. Quando um programa quebra e mostra algo como 0x7FFE0A3C, esse é o endereço de um byte na memória, escrito em hex porque o padrão de bits é o que interessa para depurar. Hashes, UUIDs e chaves criptográficas também costumam aparecer em hexadecimal pelo mesmo motivo: representam blocos de bytes que precisam ser exibidos com precisão, sem perder nenhum bit.

Existe ainda a ponte entre texto e números. Cada caractere tem um código numérico — a letra "A" é 65 em decimal, 0x41 em hex, 0100 0001 em binário. Ferramentas como o Conversor Texto ↔ Hexadecimal e o Conversor Texto ↔ Decimal mostram exatamente esses códigos para cada letra de uma frase, o que ajuda a entender encoding, URLs e dados binários.

Convertendo na mão (e quando não vale o esforço)

Saber converter no papel é útil para entender o que acontece por baixo, mesmo que no dia a dia você use uma ferramenta. O método clássico para ir de decimal para qualquer base é a divisão sucessiva: divida pelo valor da base, guarde os restos e leia-os de baixo para cima.

Decimal 156 para binário

  1. 156 ÷ 2 = 78, resto 0
  2. 78 ÷ 2 = 39, resto 0
  3. 39 ÷ 2 = 19, resto 1
  4. 19 ÷ 2 = 9, resto 1
  5. 9 ÷ 2 = 4, resto 1
  6. 4 ÷ 2 = 2, resto 0
  7. 2 ÷ 2 = 1, resto 0
  8. 1 ÷ 2 = 0, resto 1

Lendo os restos de baixo para cima: 1001 1100. Confira somando os pesos: 128 + 16 + 8 + 4 = 156. Bate.

Para hexadecimal, divida por 16: 156 ÷ 16 = 9 com resto 12 (que é C), e 9 ÷ 16 = 0 com resto 9. De baixo para cima: 9C. Para octal, divida por 8: 156 ÷ 8 = 19 resto 4, 19 ÷ 8 = 2 resto 3, 2 ÷ 8 = 0 resto 2 → 234. No caminho inverso, multiplique cada dígito pelo peso da casa e some, como fizemos com 1011.

Quando não vale o esforço? Sempre que o número for grande, sinalizado, fracionário ou quando você só precisa do resultado correto e rápido — uma transposição de dígito no meio de oito divisões passa despercebida e contamina tudo. Faça uns dois ou três à mão para fixar a lógica e deixe o resto com o Conversor de Bases Numéricas. O ganho de entender o processo é justamente conseguir confiar (e conferir) o que a ferramenta devolve.

Perguntas frequentes

Por que existe a base 16 se a base 2 já basta para o computador?

Para nós, humanos. O computador opera só em binário, mas um número binário longo é cansativo e propenso a erro de leitura. Como cada dígito hexadecimal equivale a exatamente quatro bits, o hex comprime quatro vezes a representação sem distorcer nada — é uma forma compacta de escrever os mesmos bits. O octal faz o mesmo para grupos de três bits.

O que significa o "0x" antes de um número?

É só um aviso de base. 0x indica hexadecimal, 0b indica binário e 0o indica octal. Sem o prefixo, o computador (e você) assumiria decimal. Então 0x10 vale 16, enquanto 10 sem prefixo vale dez.

Por que uma cor hex tem seis dígitos?

Porque são três canais — vermelho, verde e azul — e cada um ocupa um byte, que cabe em dois dígitos hexadecimais (00 a FF, ou 0 a 255). Dois dígitos por canal, três canais, seis dígitos. Versões com oito dígitos adicionam um quarto par para o canal alfa (transparência).

Qual o maior número que cabe em um byte?

255. Um byte tem 8 bits, e 2⁸ = 256 combinações, contadas de 0 a 255. Em binário é 1111 1111 e em hexadecimal é FF. Por isso campos de um byte, intensidades de cor e octetos de IPv4 param em 255.

Letra também vira número?

Sim. Cada caractere tem um código numérico definido por uma tabela como ASCII ou Unicode. A letra "A" maiúscula é 65, "a" minúscula é 97, e o espaço é 32. Você pode visualizar esses códigos em decimal ou em hexadecimal usando um conversor de texto, o que é a base de encoding, URLs e arquivos binários.

Ferramentas citadas neste guia

Continue lendo