Conversor de Bases Numéricas

Converta números entre as bases binário, octal, decimal e hexadecimal

Number Base Converter

Number Base Information

Binary: Uses digits 0-1
Octal: Uses digits 0-7
Decimal: Uses digits 0-9
Hexadecimal: Uses 0-9, A-F

Guia Completo de Conversão de Bases Numéricas

Guia completo sobre sistemas binário, octal, decimal, hexadecimal e numeração posicional

Entendendo as Bases Numéricas

As Quatro Bases Mais Comuns

  • Binário (Base 2): dígitos 0–1, usado em todos os computadores digitais
  • Octal (Base 8): dígitos 0–7, usado nas permissões de arquivos Unix
  • Decimal (Base 10): dígitos 0–9, a contagem humana do dia a dia
  • Hexadecimal (Base 16): dígitos 0–9 e A–F, usado em programação e cores

Sistema de Valor Posicional

  • O valor de cada dígito = dígito × base^posição (da direita para a esquerda a partir de 0)
  • Binário 1011 = 1×8 + 0×4 + 1×2 + 1×1 = 11 decimal
  • Hex 1F = 1×16 + 15×1 = 31 decimal
  • Octal 17 = 1×8 + 7×1 = 15 decimal
  • Convenções de prefixo: 0b = binário, 0o = octal, 0x = hexadecimal

Tabela de Referência de Conversão

Dec → Binário → Hex (0–15)

  • 0 = 0000 = 0x0
  • 1 = 0001 = 0x1
  • 2 = 0010 = 0x2
  • 3 = 0011 = 0x3
  • 4 = 0100 = 0x4
  • 5 = 0101 = 0x5
  • 6 = 0110 = 0x6
  • 7 = 0111 = 0x7
  • 8 = 1000 = 0x8
  • 9 = 1001 = 0x9
  • 10 = 1010 = 0xA
  • 11 = 1011 = 0xB
  • 12 = 1100 = 0xC
  • 13 = 1101 = 0xD
  • 14 = 1110 = 0xE
  • 15 = 1111 = 0xF

Potências de 2 de Referência

  • 2^0 = 1
  • 2^4 = 16
  • 2^8 = 256
  • 2^10 = 1.024 (1K)
  • 2^16 = 65.536
  • 2^20 = 1.048.576 (1M)
  • 2^24 = 16.777.216
  • 2^30 = 1.073.741.824 (1G)
  • 2^32 = 4.294.967.296
  • 2^64 ≈ 1,8×10^19

Grupos de Dígitos Hex

  • 1 dígito hex = 4 bits (nibble)
  • 2 dígitos hex = 1 byte (8 bits)
  • 4 dígitos hex = 2 bytes (palavra de 16 bits)
  • 6 dígitos hex = 3 bytes (cor RGB)
  • 8 dígitos hex = 4 bytes (inteiro de 32 bits)
  • 16 dígitos hex = 8 bytes (64 bits / segmento UUID)

Aplicações Profissionais

Ciência da Computação e Programação

  • Operações bit a bit usam binário
  • Hex usado para endereços de memória
  • Valores de cor (#RRGGBB)
  • Pontos de código ASCII/Unicode (ex.: 'A' = 0x41 = 65)
  • Flags de máscara de bits
  • Redes (endereços IP, máscaras de sub-rede)
  • Linguagem assembly

Sistemas e Redes

  • Endereços IPv4: 4 octetos decimais (192.168.1.1)
  • Máscara de sub-rede: /24 = 255.255.255.0 = 0xFFFFFF00
  • Endereço MAC: 6 pares hex (AA:BB:CC:DD:EE:FF)
  • IDs de VLAN: decimal
  • Números de porta: decimal 0–65535
  • Deslocamentos de endereço de memória: hex

Eletrônica Digital

  • Valores de registradores exibidos em hex
  • Vetores de interrupção (ex.: 0x0000–0x03FF)
  • Máscaras de pinos GPIO em binário
  • Endereço I2C: 7 bits (0x3C = 60 decimal)
  • Quadros de dados SPI
  • Checksums CRC em hex
  • Arquivos hex de firmware (formato Intel HEX)

Unix e Sistemas de Arquivos

  • Permissões chmod: octal (755 = rwxr-xr-x; 644 = rw-r--r--)
  • Números mágicos de arquivo em hex (ELF: 0x7F454C46)
  • Números de inode: decimal
  • Setores de disco
  • Análise de dumps de memória
  • Inspeção de core dumps
  • Endereços do kernel em hex

Boas Práticas com Bases Numéricas

Técnicas de Conversão

  • Para números grandes: converta usando decimal como intermediário
  • Agrupe bits binários em blocos de 4 para facilitar a leitura em hex
  • Memorize os valores de 0 a 15 em decimal, binário e hex
  • Use prefixos de notação para evitar ambiguidade
  • Verifique com a conversão inversa
  • Para ponto flutuante, entenda o formato IEEE 754

Erros Comuns

  • Confundir 0 (zero) com O (letra) em hex
  • Esquecer que A–F devem ser maiúsculas em hex
  • Bit de sinal no complemento de dois
  • Overflow ao usar largura de bits fixa
  • Octal e hex parecem iguais (017 = 15 decimal em C, não 17)
  • Zeros à esquerda mudando a interpretação em algumas linguagens

Exemplos de Bases Numéricas

Conversões Comuns

  • 255 decimal = 0xFF = 11111111 binário
  • 256 = 0x100 = 100000000 binário
  • 1.024 = 0x400 = 10000000000 binário
  • 65.535 = 0xFFFF = 16 uns em binário
  • 42 = 0x2A = 101010 binário
  • 16 = 0x10 = 10000 binário
  • 127 = 0x7F = 1111111 binário

Exemplos de Programação

  • Cor HTML branca: #FFFFFF = rgb(255,255,255)
  • chmod 755 = 111 101 101 binário
  • IP 192.168.0.1 = 0xC0A80001
  • Porta 443 (HTTPS) = 0x1BB = 110110011 binário
  • ASCII 'Z' = 90 = 0x5A = 1011010
  • Byte nulo = 0x00 = 0 = 00000000
  • DEL = 0x7F = 127

Armazenamento e Memória

  • 1 KB = 1.024 bytes = 0x400
  • 1 MB = 1.048.576 = 0x100000
  • 1 GB = 0x40000000
  • 4 GB (limite 32 bits) = 0xFFFFFFFF + 1
  • Exemplo de endereço RAM: 0xDEADBEEF
  • Exemplo de ponteiro de pilha: 0x7FFE0000
  • Endereço BIOS: 0xFFFFFFF0

Perguntas Frequentes

Por que os computadores usam binário?
Computadores são construídos com transistores que têm dois estados confiáveis: ligado (1) e desligado (0). O binário mapeia diretamente para esses estados físicos. Bases maiores exigiriam transistores com múltiplos níveis de tensão, mais difíceis de fabricar com confiabilidade e mais suscetíveis a ruído.
Para que é usado o hexadecimal?
Hexadecimal (base 16) é uma forma compacta de escrever binário. Cada 4 bits = 1 dígito hex, então bytes de 8 bits = 2 dígitos hex. Hex aparece em toda a computação: endereços de memória (0x7FFF), códigos de cor (#FF5733), listagens de código de máquina e códigos de erro (0xDEADBEEF).
Como converto binário para decimal?
Multiplique cada dígito binário por 2 elevado à sua posição (contando a partir de 0 pela direita) e some todos os resultados. Por exemplo: 1011 = 1×8 + 0×4 + 1×2 + 1×1 = 8 + 0 + 2 + 1 = 11 decimal.
Qual é a diferença entre octal e decimal?
O decimal usa 10 dígitos (0–9) e é o sistema de contagem padrão dos humanos. O octal usa apenas 8 dígitos (0–7) e cada dígito representa 3 bits. O octal era historicamente usado nas permissões Unix (ex.: chmod 755) por se corresponder perfeitamente com grupos de 3 bits em binário.
Como interpreto um código de cor hexadecimal?
Uma cor hex como #1A2B3C se divide em três pares de 2 dígitos: R=1A (26 decimal), G=2B (43 decimal), B=3C (60 decimal). Cada par vai de 00 (0) a FF (255), dando 256 níveis de intensidade por canal e mais de 16 milhões de cores possíveis.
Por que 1 KB equivale a 1.024 bytes e não a 1.000?
Computadores trabalham com potências de 2. A potência de 2 mais próxima de 1.000 é 2^10 = 1.024, então os primeiros cientistas da computação usaram 'quilo' para significar 1.024 em vez do padrão SI de 1.000. Por isso 1 KB = 1.024 bytes, 1 MB = 1.048.576 bytes e 1 GB = 1.073.741.824 bytes.