CIRCUITO
CARIOCA TI · DOCUMENTAÇÃO
♙
Conversor

Conversor de Base Numérica

Converta inteiros não negativos de tamanho arbitrário entre binário, octal, decimal e hexadecimal sem GMP e sem perda de precisão por ponto flutuante.

BinaryOctalDecimalHexadecimalBase 2Base 8Base 10Base 16

Converta inteiros entre bases numéricas

Converta valores binários, octais, decimais e hexadecimais. Espaços e underscores usados apenas como separadores visuais são aceitos.

Prefixos convencionais aceitos: 0b para binário, 0o para octal e 0x para hexadecimal quando correspondem à base de origem selecionada.
RADIX

O que é uma base numérica?

Um sistema de numeração posicional utiliza uma base, também chamada radix, para determinar quantos símbolos de dígitos existem e o valor de cada posição. Decimal usa base 10, binário usa base 2, octal usa base 8 e hexadecimal usa base 16. A escrita muda, mas o valor inteiro representado permanece o mesmo.

BASE 2

Binário: a representação natural dos bits

O binário possui apenas os dígitos 0 e 1. Cada posição representa uma potência de dois. Por exemplo, 11111111₂ equivale a 255₁₀. Binário é fundamental no estudo de máscaras de bits, flags, registradores, lógica digital, permissões, endereçamento e protocolos de baixo nível.

BASE 8

Octal: grupos compactos de três bits

Um dígito octal representa exatamente três bits porque 8 = 2³. O octal continua especialmente presente na notação de permissões Unix: os bits de leitura, gravação e execução formam grupos de três bits que se mapeiam naturalmente para dígitos de 0 a 7.

BASE 10

Decimal: o sistema posicional do cotidiano

Decimal utiliza os dígitos de 0 a 9. Cada posição representa uma potência de dez. O valor 255, por exemplo, é 2×10² + 5×10¹ + 5×10⁰. A conversão não altera a quantidade; altera apenas a notação utilizada para expressá-la.

BASE 16

Hexadecimal: quatro bits por dígito

Hexadecimal utiliza 0–9 e depois A–F para representar os valores de dez a quinze. Como 16 = 2⁴, cada dígito hexadecimal corresponde exatamente a quatro bits. Isso torna hexadecimal muito mais compacto que binário puro sem perder a facilidade de conversão em nível de bits.

0b · 0o · 0x

Prefixos identificam a notação, mas as convenções variam

Os prefixos 0b e 0x são amplamente usados para indicar binário e hexadecimal, enquanto 0o é uma notação moderna e explícita para octal em vários ambientes. A sintaxe depende da linguagem: alguns contextos derivados de C historicamente usam zero inicial para octal, e shells possuem regras próprias. Este conversor aceita 0b, 0o e 0x somente quando correspondem à base de origem selecionada.

REDES

Por que hexadecimal e binário importam em redes

Redes frequentemente expõem valores em diferentes formas de representação. Máscaras e cálculos de prefixo são mais fáceis de compreender em binário, enquanto endereços IPv6 e campos de protocolos são frequentemente escritos em hexadecimal. A conversão de bases ajuda a visualizar como os mesmos bits podem ser apresentados de formas diferentes.

PROGRAMAÇÃO

Hexadecimal é comum em depuração e trabalho de baixo nível

Endereços de memória, máscaras, campos de protocolos, dumps de bytes, dados de baixo nível e registradores são frequentemente exibidos em hexadecimal porque cada dígito hex se mapeia diretamente para quatro bits. Octal continua relevante em permissões Unix, enquanto binário é útil quando flags e posições individuais de bits importam.

PRECISÃO

Por que este conversor não usa base_convert() do PHP

A documentação do PHP alerta que base_convert() pode perder precisão com valores grandes devido a características relacionadas ao tratamento interno por ponto flutuante. Esta página faz a conversão inteira diretamente sobre strings usando divisão longa. Assim, aceita inteiros não negativos muito grandes sem exigir GMP ou BCMath; o limite de 10.000 caracteres é operacional desta ferramenta web, não um limite matemático do algoritmo.

NÃO É CODIFICAÇÃO

Conversão de base numérica é diferente de Base64

Apesar dos nomes parecidos, converter o inteiro 255 de decimal para hexadecimal (FF) não é a mesma operação que codificar dados em Base64. Base64 é uma codificação binário-para-texto destinada a representar sequências arbitrárias de bytes com um alfabeto textual restrito. Um conversor de radix representa um valor numérico em outro sistema de numeração posicional.

ENDIANNESS

Converter a base não altera a ordem dos bytes

Endianness descreve como os bytes de um valor com múltiplos bytes são ordenados na memória ou em um fluxo de bytes. É um conceito separado de base numérica. Converter 305419896₁₀ para 12345678₁₆ altera sua representação textual; isso não reorganiza automaticamente os bytes em little-endian ou big-endian.

FAQ

Perguntas frequentes sobre conversão de bases numéricas

O que é uma base numérica?+

Uma base, ou radix, define os símbolos de dígitos e os pesos posicionais usados para representar um número. Binário é base 2, octal base 8, decimal base 10 e hexadecimal base 16.

Como converter decimal para binário?+

Conceitualmente, divisões sucessivas por 2 produzem restos que formam a representação binária. Esta calculadora faz automaticamente a conversão exata sobre strings.

Como converter binário para decimal?+

Cada posição binária representa uma potência de dois. Some as potências correspondentes às posições que contêm 1. Por exemplo, 1010₂ é 8 + 2 = 10₁₀.

Por que hexadecimal usa letras de A a F?+

A base 16 precisa de dezesseis símbolos. Depois de 0 a 9, A, B, C, D, E e F representam os valores decimais de 10 a 15.

O prefixo 0x é obrigatório?+

Não. A entrada hexadecimal é aceita com ou sem 0x quando hexadecimal está selecionado como base de origem.

O que significam 0b, 0o e 0x?+

São prefixos textuais convencionais usados para indicar binário, octal e hexadecimal. A sintaxe exata depende da linguagem de programação ou ambiente.

Por que octal é usado em permissões Unix?+

Leitura, gravação e execução formam três bits de permissão, e um dígito octal representa exatamente três bits. Isso torna o octal uma notação compacta para grupos de permissões.

Por que hexadecimal é tão usado em computação?+

Cada dígito hexadecimal corresponde exatamente a quatro bits, reduzindo representações binárias longas sem perder a facilidade de visualizar os limites dos bits.

Hexadecimal diferencia maiúsculas de minúsculas?+

Não para o valor numérico. A–F e a–f representam os mesmos dígitos hexadecimais. A ferramenta normaliza a saída para maiúsculas.

O conversor suporta inteiros muito grandes?+

Sim. Ele usa conversão inteira baseada em strings em vez de base_convert() do PHP, evitando a ressalva documentada de precisão para números grandes. A entrada online é limitada a 10.000 caracteres por segurança operacional.

A ferramenta exige GMP ou BCMath?+

Não. O algoritmo trabalha diretamente com strings e operações inteiras padrão usando apenas valores intermediários pequenos.

A ferramenta converte números negativos?+

Ainda não. Esta versão aceita intencionalmente apenas inteiros não negativos para que o tratamento de sinal seja explícito e nunca silenciosamente ignorado.

Converter para hexadecimal é a mesma coisa que Base64?+

Não. Hexadecimal aqui é uma representação posicional de um inteiro. Base64 é uma codificação binário-para-texto para dados arbitrários em bytes.

Trocar a base numérica altera endianness?+

Não. A base altera a representação textual do número. Endianness trata da ordem dos bytes em memória ou fluxos de dados e é um conceito separado.