Conversor Base Numerica preview

Conversor Base Numerica

Converta números entre sistemas binário (base 2), octal (base 8), decimal (base 10) e hexadecimal (base 16).

Principais recursos

  • Binary/Octal/Decimal/Hex
  • Live conversion
  • Hex letter support
  • Copy results

Guide

Conversão de base numérica é o processo de expressar um valor em um sistema numérico posicional usando uma base diferente. As quatro bases mais comuns em computação e matemática são binário (base 2), octal (base 8), decimal (base 10) e hexadecimal (base 16). Todo programador, engenheiro eletricista e estudante de ciência da computação encontra esses sistemas regularmente. Este guia explica como cada base funciona, os métodos de conversão entre elas e situações práticas onde cada base é a escolha certa. Decimal é o sistema que você usa todos os dias. Tem dez dígitos: 0 a 9. Cada posição em um número decimal representa uma potência de 10. O número 5207 significa 5 vezes 1000, mais 2 vezes 100, mais 0 vezes 10, mais 7 vezes 1. Esse conceito de valor posicional se aplica a todas as bases. A única coisa que muda é o número de dígitos disponíveis e a potência que cada posição representa. O sistema decimal quase certamente evoluiu porque os humanos têm dez dedos, tornando dez um agrupamento natural. Binário usa dois dígitos: 0 e 1. Cada posição representa uma potência de 2. O número binário 1101 significa 1 vez 8, mais 1 vez 4, mais 0 vez 2, mais 1 vez 1, o que é igual a 13 em decimal. Computadores operam em binário porque circuitos eletrônicos têm dois estados estáveis: ligado e desligado, alta voltagem e baixa voltagem. Cada pedaço de dados que seu computador processa, de texto a vídeo a instruções de software, é fundamentalmente representado como sequências de 1s e 0s. Números binários ficam longos rapidamente. O número decimal 255 é 11111111 em binário, oito dígitos para o que o decimal trata em três. É por isso que programadores raramente escrevem binário bruto para valores grandes. Eles usam octal ou hexadecimal como notações abreviadas que mapeiam de forma limpa para binário porque 8 e 16 são ambos potências de 2. Octal usa oito dígitos: 0 a 7. Cada dígito octal corresponde a exatamente três dígitos binários. O número octal 17 é igual ao binário 001 111, que é decimal 15. Octal era historicamente importante em computação quando sistemas usavam arquiteturas com tamanhos de palavra divisíveis por 3 (como máquinas de 12 bits, 24 bits e 36 bits). Hoje, octal aparece mais costumamente em permissões de arquivos Unix/Linux. O valor de permissão 755 significa que o dono pode ler, escrever e executar (7 = 111 em binário), enquanto grupo e outros podem ler e executar, mas não escrever (5 = 101 em binário). O comando chmod no Linux e macOS usa números octais para definir permissões de arquivos, tornando o conhecimento de octal relevante para qualquer administrador de sistema ou desenvolvedor trabalhando em sistemas baseados em Unix. Hexadecimal usa dezesseis dígitos: 0 a 9 e A a F, onde A representa 10, B é 11, C é 12, D é 13, E é 14 e F é 15. Cada dígito hexadecimal mapeia para exatamente quatro dígitos binários. Isso torna hex a abreviação preferida para dados binários em computação moderna. O valor hex FF é igual ao binário 1111 1111, que é decimal 255. Um único byte (8 bits) é sempre representável como exatamente dois dígitos hex, tornando hex ideal para exibir conteúdo de memória, valores de cor, endereços MAC e hashes criptográficos. Converter de decimal para qualquer outra base usa divisão repetida. Para converter decimal 200 para binário, divida 200 por 2 repetidamente e registre os restos. 200 dividido por 2 é 100 com resto 0. 100 dividido por 2 é 50 com resto 0. 50 dividido por 2 é 25 com resto 0. 25 dividido por 2 é 12 com resto 1. 12 dividido por 2 é 6 com resto 0. 6 dividido por 2 é 3 com resto 0. 3 dividido por 2 é 1 com resto 1. 1 dividido por 2 é 0 com resto 1. Lendo os restos de baixo para cima dá 11001000. O mesmo método funciona para qualquer base alvo. Para converter 200 para hex, divida por 16: 200 dividido por 16 é 12 com resto 8, 12 dividido por 16 é 0 com resto 12 (que é C). Lendo de baixo para cima dá C8. Converter de qualquer base para decimal usa a fórmula de valor posicional. Multiplique cada dígito por sua potência posicional e some os resultados. Para hex 2F3: 2 vezes 256 (16 ao quadrado) mais 15 vezes 16 (F é 15) mais 3 vezes 1 é igual a 512 mais 240 mais 3, que é 755 em decimal. Esse método funciona para qualquer base de origem. Para binário 101010: 1 vez 32 mais 0 vez 16 mais 1 vez 8 mais 0 vez 4 mais 1 vez 2 mais 0 vez 1 é igual a 42 em decimal. Converter entre binário e hex é direto porque cada dígito hex é exatamente quatro dígitos binários. Agrupe o número binário em blocos de quatro começando da direita, preenchendo com zeros à esquerda se necessário. Binário 10110111 torna-se 1011 0111, que é B7 em hex. Indo na outra direção, substitua cada dígito hex por seu equivalente binário de quatro bits. Hex A3 torna-se 1010 0011. Esse mapeamento direto é por isso que hex é tão popular em contextos de programação. Converter entre binário e octal segue o mesmo princípio com grupos de três. Binário 10110111 torna-se 010 110 111 (preenchido com um zero à esquerda), que é 267 em octal. Octal 52 torna-se 101 010 em binário. O agrupamento de três bits torna octal menos conveniente do que hex para arquiteturas modernas de byte de 8 bits, razão pela qual hex substituiu amplamente octal na maioria dos contextos de programação. Converter entre octal e hexadecimal não tem atalho direto. A abordagem padrão é converter através de binário como uma etapa intermediária. Converta o número octal para binário (cada dígito octal para três bits), depois reagrupe os dígitos binários em blocos de quatro bits e converta para hex. Por exemplo, octal 375 torna-se binário 011 111 101, reagrupado como 0 1111 1101, que é hex FD. Indo através de binário adiciona uma etapa, mas o processo é inteiramente mecânico e rápido com prática. Números fracionários em bases diferentes seguem a mesma lógica posicional, mas com potências negativas. Em decimal, 0,75 significa 7 vezes 0,1 mais 5 vezes 0,01. Em binário, 0,11 significa 1 vez 0,5 mais 1 vez 0,25, o que é igual a 0,75 em decimal. Nem todas as frações decimais convertem para frações binárias finitas. O valor decimal 0,1 em binário é 0,0001100110011... repetindo infinitamente. Esta é a causa raiz de problemas de precisão de ponto flutuante em computação. Linguagens de programação usam prefixos para distinguir bases numéricas no código-fonte. Em C, Java, JavaScript, Python e muitas outras linguagens, 0b ou 0B indica binário (0b1101), 0o ou 0O indica octal (0o17) e 0x ou 0X indica hexadecimal (0xFF). Números sem prefixo são decimais. Alguns códigos C mais antigos usam um zero à esquerda para octal (017), o que é uma fonte comum de bugs quando alguém escreve 010 esperando decimal 10, mas obtém octal 8. O modo estrito do JavaScript e versões modernas abordam isso exigindo o prefixo explícito 0o para octal. Códigos de cor em desenvolvimento web usam hexadecimal extensivamente. A cor CSS #3A7BFF decompõe-se em 3A para o canal vermelho (58 em decimal), 7B para verde (123) e FF para azul (255). Entender hex permite que você leia e ajuste valores de cor diretamente. Precisa de um azul ligeiramente mais escuro? Mude FF para E0. Quer converter um valor RGB de 128, 64, 32 para hex? Converta cada componente: 128 é 80, 64 é 40, 32 é 20, dando #804020. CSS também suporta cores hex abreviadas onde cada canal é um dígito: #F00 expande para #FF0000 (vermelho puro). O canal alfa em cores hex de 8 dígitos (#3A7BFFCC) adiciona transparência usando a mesma representação hex. Endereços de memória e depuração usam hexadecimal como representação padrão. Quando você vê um endereço de memória como 0x7FFF5FBFF8A0, esse é um valor de 48 bits expresso como 12 dígitos hex. Depuradores, editores hex e utilitários de dump de memória todos exibem dados em hex porque é compacto, mapeia diretamente para binário e alinha-se de forma limpa com limites de byte. Cada par de dígitos hex é um byte, tornando fácil contar bytes e identificar limites. Um dump hex exibe 16 bytes por linha, com cada byte mostrado como dois dígitos hex, ao lado da representação de caracteres ASCII. Esse formato é a maneira padrão de inspecionar arquivos binários, pacotes de rede e dados brutos de disco. Rede depende de hexadecimal para endereços MAC (48 bits, exibidos como seis pares como A4:C3:F0:12:34:56) e endereços IPv6 (128 bits, exibidos como oito grupos de quatro dígitos hex como 2001:0db8:85a3:0000:0000:8a2e:0370:7334). Entender hex é essencial para configuração e solução de problemas de rede. Máscaras de sub-rede, quando expressas em notação CIDR, mapeiam diretamente para representações binárias que mostram quais bits identificam a rede e quais identificam o host. Hashes criptográficos produzem strings hexadecimais de comprimento fixo. Um hash MD5 tem 32 dígitos hex (128 bits). Um hash SHA-256 tem 64 dígitos hex (256 bits). Quando você verifica o download de um arquivo comparando seu hash a um valor publicado, você está lendo hexadecimal. Cada caractere representa 4 bits da saída do hash. Valores de hash são exibidos em hex em vez de decimal porque hex é mais compacto e mapeia diretamente para a saída binária do algoritmo de hash. Operações bit a bit em programação funcionam no nível binário, mas costumam são expressas em hex para legibilidade. Uma máscara de bits como 0xFF00 é mais clara do que seu equivalente decimal 65280 e mais compacta do que sua forma binária 1111111100000000. Operações bit a bit AND, OR, XOR e shift são fundamentais para programação de baixo nível, desenvolvimento de drivers de dispositivo, implementação de protocolos e otimização de desempenho. Entender representação binária é um pré-requisito para usar essas operações de forma eficaz. Um shift à esquerda por 1 bit dobra um valor. Um shift à direita por 1 bit divide ao meio (para inteiros sem sinal). AND com uma máscara extrai bits específicos. OR com uma máscara define bits específicos. XOR inverte bits específicos. Codificação de caracteres ASCII e Unicode mapeia caracteres para códigos numéricos que costumamente são exibidos em hex. A letra A é 0x41 (decimal 65). Um espaço é 0x20 (decimal 32). Codificação de URL usa hex: %20 representa um espaço, %3A representa dois pontos. Entender esses valores hex ajuda ao depurar problemas de codificação, analisar protocolos binários ou trabalhar com fluxos de dados brutos. A codificação UTF-8 usa sequências de bytes de comprimento variável (1 a 4 bytes) onde o padrão binário dos bits principais indica a contagem de bytes, tornando a compreensão binária essencial para entender a codificação de texto no nível de byte. Inteiros com sinal em binário usam uma representação chamada complemento de dois. Em um sistema de complemento de dois de 8 bits, os valores variam de -128 a 127. O bit mais alto é o bit de sinal: 0 para positivo, 1 para negativo. O número -1 é representado como 11111111 em binário de 8 bits (0xFF em hex). O número -128 é 10000000 (0x80). Para negar um número no complemento de dois, inverta todos os bits e adicione 1. Por exemplo, 5 em binário de 8 bits é 00000101. Inverter dá 11111010. Adicionar 1 dá 11111011, que representa -5. O complemento de dois é o padrão para inteiros com sinal em virtualmente todos os processadores modernos. Entendê-lo evita confusão ao depurar aritmética com sinal, ler dumps de memória ou trabalhar com protocolos binários. Números de ponto flutuante também têm uma representação binária definida pelo padrão IEEE 754. Um float de 32 bits tem 1 bit de sinal, 8 bits de expoente e 23 bits de mantissa. Um double de 64 bits tem 1 bit de sinal, 11 bits de expoente e 52 bits de mantissa. É por isso que a aritmética de ponto flutuante pode produzir resultados surpreendentes. O valor decimal 0,1 não pode ser representado exatamente em ponto flutuante binário, assim como 1/3 não pode ser representado exatamente em decimal. Quando você vê que 0,1 + 0,2 é igual a 0,30000000000000004 em JavaScript, a causa são limitações de representação binária. Valores especiais incluem infinito positivo e negativo, zero negativo e NaN (não é um número), cada um com padrões de bits específicos. Codificação Base 64 é outro sistema de numeração usado extensivamente em computação, particularmente para codificar dados binários como texto ASCII imprimível. Base64 usa 64 caracteres (A-Z, a-z, 0-9, +, /) para representar grupos de 6 bits de dados. Aparece em anexos de e-mail (codificação MIME), URIs de dados em HTML e CSS, tokens JWT e cabeçalhos de autenticação de API. A cada 3 bytes de dados binários tornam-se 4 caracteres Base64, resultando em aproximadamente 33% de aumento de tamanho. Base64 não é criptografia. É uma codificação reversível usada para compatibilidade de transporte de dados. Decimal Codificado em Binário (BCD) é um sistema híbrido onde cada dígito decimal é representado por seu equivalente binário de 4 bits, mas os dígitos não são combinados em um único número binário. O número decimal 42 em BCD é 0100 0010, que é diferente da representação binária pura de 42 (101010). BCD é usado em cálculos financeiros, relógios digitais e outras aplicações onde a precisão decimal é importante e erros de arredondamento de ponto flutuante binário são inaceitáveis. Alguns processadores incluem instruções de aritmética BCD. Conversão de base numérica tem aplicações em compressão de dados, códigos de detecção de erros e eletrônica digital. Algoritmos de compressão trabalham com dados binários diretamente. Cálculos de CRC (Verificação de Redundância Cíclica) e checksum operam em representações binárias. Design de circuitos digitais usa portas lógicas binárias e tabelas-verdade. A capacidade de mover fluentemente entre decimal, binário, hex e octal é uma habilidade central em todos esses campos. Erros comuns de conversão incluem contar mal valores posicionais (esquecer que posições começam na potência 0, não potência 1), confundir prefixos octal e hex no código, descartar zeros à esquerda em bytes hex (escrever A em vez de 0A para um valor de byte) e aplicar regras de complemento de dois incorretamente. Outro erro frequente é realizar aritmética na base errada, como adicionar 0x10 e esperar 10 quando o resultado é na verdade 16 em decimal. O conversor de base numérica WebRecast elimina esses erros lidando com conversões instantaneamente e mostrando o resultado em todas as quatro bases simultaneamente. Para prática manual, memorize os valores hex 0 a F e seus equivalentes binários de 4 bits. Uma vez que você consegue converter dígitos hex únicos para binário e vice-versa sem pensar, conversões maiores tornam-se uma questão de aplicar esse conhecimento dígito a dígito. Hex 0 é 0000, 1 é 0001, 2 é 0010, 3 é 0011, 4 é 0100, 5 é 0101, 6 é 0110, 7 é 0111, 8 é 1000, 9 é 1001, A é 1010, B é 1011, C é 1100, D é 1101, E é 1110 e F é 1111. Essa tabela de consulta de dezesseis entradas é a coisa mais útil que um programador pode memorizar para trabalhar com dados de baixo nível. Potências de 2 valem a pena memorizar até pelo menos 2^16 (65536). A sequência é: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536. Esses valores aparecem constantemente em contextos de programação. 1024 bytes é um kilobyte (tecnicamente um kibibyte). 65535 (2^16 menos 1) é o valor máximo para um inteiro sem sinal de 16 bits. 2147483647 (2^31 menos 1) é o máximo inteiro com sinal de 32 bits. Reconhecer esses números imediatamente diz a você sobre a estrutura binária por trás deles. Tamanhos de dados em computação usam potências de 2 e são expressos em bytes. Um byte é 8 bits. Um kilobyte é 1.024 bytes (2^10). Um megabyte é 1.048.576 bytes (2^20). Um gigabyte é 1.073.741.824 bytes (2^30). Fabricantes de armazenamento costumam usam potências de 10 em vez disso (1 GB = 1.000.000.000 bytes), razão pela qual um drive de 1 TB mostra cerca de 931 GiB no seu sistema operacional. Os prefixos IEC (kibi, mebi, gibi) foram introduzidos para resolver essa ambiguidade, mas a indústria ainda usa ambas as convenções. Entender a base binária dos tamanhos de dados explica por que esses números aparecem em toda parte na computação. Códigos de detecção e correção de erros usam aritmética binária extensivamente. Bits de paridade adicionam um único bit a uma palavra de dados para tornar o número total de bits 1 ou par (paridade par) ou ímpar (paridade ímpar). Códigos de Hamming usam múltiplos bits de paridade em posições que são potências de 2 (1, 2, 4, 8, 16) para detectar e corrigir erros de bit único. Códigos CRC usam divisão polinomial em binário (aritmética GF(2), onde adição é XOR) para gerar checksums. Essas técnicas são fundamentais para armazenamento e transmissão confiável de dados. Álgebra booleana, a matemática por trás da lógica digital, opera em binário. Portas AND, OR, NOT, XOR, NAND e NOR recebem entradas binárias e produzem saídas binárias. Tabelas-verdade enumeram todas as combinações possíveis de entrada e suas saídas. Mapas de Karnaugh e simplificação booleana reduzem expressões complexas a implementações mínimas de portas. Todo circuito digital, de uma simples calculadora a uma CPU moderna, é construído a partir dessas portas lógicas binárias. Entender binário é o ponto de entrada para entender como o hardware funciona no nível mais baixo. Conjuntos de instruções e código de máquina são sequências binárias que a CPU executa diretamente. Uma instrução x86 como MOV EAX, 5 é codificada como bytes binários. Linguagem assembly fornece mnemônicos legíveis por humanos para essas instruções binárias. Quando você compila código em C, Java ou qualquer outra linguagem, o compilador fundamentalmente produz instruções de máquina binárias. Visualizar código compilado em um editor hex revela o binário bruto (exibido como bytes hex) que o processador executa. Computação quântica introduz um paradigma diferente com qubits que podem existir em superposições de 0 e 1. A computação binária clássica usa bits definidos. A computação quântica usa amplitudes de probabilidade. No entanto, a saída de uma computação quântica é medida como bits binários clássicos. A interface entre computação quântica e clássica ainda usa bases numéricas tradicionais, e algoritmos quânticos são projetados e analisados usando matemática binária convencional. O conversor de base numérica WebRecast aceita entrada em qualquer uma das quatro bases e produz o valor equivalente em todas as outras. Digite um número decimal e veja suas representações binária, octal e hex. Cole um código de cor hex e veja sua forma binária. Insira uma string binária de uma folha de dados e obtenha o valor decimal. As conversões acontecem em tempo real conforme você digita, tornando rápido explorar como valores se relacionam entre bases. Use-o junto com seu editor de código, depurador ou ferramentas de análise de dados sempre que precisar mover entre sistemas numéricos de forma rápida e precisa.

Perguntas frequentes

What bases are supported?

Binary (2), Octal (8), Decimal (10), and Hexadecimal (16).

Guias relacionados

Secoes relacionadas do WebRecast