Conversor de bases numéricas (binário, octal, decimal, hex)
Converte números entre binário, octal, decimal, hexadecimal e qualquer base personalizada de 2 a 36.
A carregar Conversor de bases numéricas (binário, octal, decimal, hex)… Se nada acontecer, ativa o JavaScript.
Os sistemas de numeração posicionais representam os números usando um conjunto fixo de símbolos de dígitos, em que o valor de cada dígito depende da sua posição. Os humanos desenvolveram naturalmente a aritmética em base 10 (decimal), quase de certeza porque temos dez dedos. Mas os computadores digitais são construídos a partir de transístores que só podem existir em dois estados, ligado ou desligado, o que faz da base 2 (binário) a linguagem natural do hardware informático. Cada número, instrução e fragmento de texto armazenado em qualquer computador do mundo é, em última análise, codificado como uma sequência de uns e zeros. As outras bases, octal (base 8) e hexadecimal (base 16), surgiram como uma abreviatura conveniente do binário: um dígito octal representa exatamente três dígitos binários, e um dígito hex representa exatamente quatro, o que as torna muito mais compactas para que um humano leia dados binários.
Exemplos
255 (decimal)
FF (hex) · 11111111 (binary) · 377 (octal)
0xFF (hex)
255 (decimal)
1010 (binary)
10 (decimal)
Perguntas frequentes
É enviado algum dado para um servidor quando uso esta ferramenta?
Porque é que os computadores usam binário em vez de decimal?
Porque é que o hexadecimal é usado para os códigos de cor e os endereços de memória?
O que têm os números octais a ver com as permissões de ficheiro do Unix?
Posso converter números muito grandes sem perda de precisão?
Qual é a história da notação hexadecimal na informática?
Existem casos limite com os zeros à esquerda ou os números muito pequenos?
Esta ferramenta suporta o complemento para dois para os números negativos?
Que conversões de base vale a pena saber de cor?
Qual é um equívoco comum dos principiantes sobre os números binários?
Sobre Conversor de bases numéricas (binário, octal, decimal, hex)
Os programadores deparam-se com várias bases constantemente. O hexadecimal está em todo o lado: as cores CSS (#ff6600), os endereços de memória nos depuradores (0x7ffee4b3c8d0), os números mágicos dos formatos de ficheiro (0xFF 0xD8 para JPEG), as permissões de ficheiro do Unix em forma numérica (0755) e os endereços MAC de rede usam todos a notação hex. O binário é essencial para compreender as operações ao nível dos bits, os campos de sinalizadores, as máscaras de sub-rede e a codificação de dados. O octal aparece nas cadeias de modo de permissões de ficheiro do Unix, o familiar chmod 755 ou chmod 644, e em alguns protocolos de comunicação antigos. A base 36 (que usa os dígitos 0–9 e as letras A–Z) é usada nos encurtadores de URL e nos esquemas de identificadores únicos que precisam de cadeias compactas e insensíveis a maiúsculas.
Este conversor aceita um valor em qualquer base de 2 a 36 e apresenta-o em simultâneo em binário, octal, decimal, hexadecimal e qualquer base personalizada que especifiques. O cálculo usa o tipo BigInt do JavaScript, que suporta inteiros de precisão arbitrária, pelo que não há limite superior para o tamanho do número que podes converter, ao contrário do tipo Number padrão, que perde precisão para além de 2^53. Todo o processamento é executado no teu navegador, sem comunicação com qualquer servidor.
Algumas nuances a ter em conta: os dígitos hexadecimais usam as letras A–F (ou a–f) para os valores 10–15, e o uso de maiúsculas ou minúsculas não tem significado semântico, mas as convenções diferem: os registos da CPU mostram-se tradicionalmente em maiúsculas, enquanto as cores CSS costumam escrever-se em minúsculas. Ao introduzir valores binários, tem cuidado com os zeros à esquerda: são válidos e mantêm-se na apresentação, mas não afetam o valor numérico. A notação em complemento para dois, usada para representar inteiros negativos no hardware, não é produzida por esta ferramenta porque a sua saída depende do tamanho de palavra (8 bits, 16 bits, 32 bits, 64 bits) do sistema de destino.
Dos dedos aos transístores: porque é que o mundo conta em base 16
Os humanos usaram a base 10 durante milhares de anos quase de certeza simplesmente porque nascemos com dez dedos. As provas arqueológicas apontam para sistemas de contagem que recuam pelo menos 40.000 anos, e os babilónios desenvolveram um sofisticado sistema em base 60 (sexagesimal) por volta do ano 2000 a. C., uma escolha que ainda ecoa nos nossos minutos de 60 segundos e nos círculos de 360 graus. O sistema decimal que usamos hoje foi formalizado na Índia por volta dos séculos V–VI d. C. com a invenção da notação posicional e o conceito do zero, e depois transmitido à Europa através dos matemáticos árabes, dando-nos os numerais indo-árabes que usamos hoje.
A adoção do binário na informática não era inevitável. A máquina analítica mecânica do século XIX de Charles Babbage usava decimal. As propostas informáticas do início do século XX exploraram a base 3 (ternária) e até sistemas eletrónicos em base 10. Uns engenheiros soviéticos da Universidade Estatal de Moscovo chegaram a construir um computador ternário funcional, o Setun, em 1958, argumentando que era mais eficiente do que o binário. Mas o binário acabou por vencer porque exigia a menor complexidade de engenharia: um transístor está ligado ou desligado, ponto final. Qualquer estado adicional implica uma calibração de tensão mais cuidadosa, mais calor e mais erros.
O hexadecimal tornou-se a representação dominante legível por humanos dos dados binários graças ao System/360 da IBM de 1964, que padronizou o byte de 8 bits como a unidade fundamental de informação. Assim que os bytes se tornaram universais, o facto de dois dígitos hex corresponderem exatamente a um byte tornou-se irresistível para os engenheiros que liam despejos de memória e valores de registos. O prefixo 0x para marcar os literais hex foi introduzido pela linguagem C por volta de 1972 e espalhou-se essencialmente a todas as linguagens principais que se seguiram: C++, Java, Python, JavaScript, Go, Rust, Swift e mais. Hoje, o hex está tão enraizado na cultura informática que os designers de cor, os engenheiros de rede e os investigadores de segurança pensam e comunicam em base 16 como uma segunda natureza.