Utilia

Conversor de bases numéricas

Converte números entre binário, octal, decimal, hexadecimal e qualquer base de 2 a 36, com complemento para dois, frações e resolução passo a passo.

Como converter um número para outra base

  1. Escreve o valor em Número a converter. Podes colá-lo com prefixo (0x, 0b, 0o), com espaços ou sublinhados entre grupos de algarismos, com sinal menos e com uma parte fracionária depois de um ponto.
  2. Escolhe a Base de entrada. As quatro bases mais comuns aparecem com nome; está disponível qualquer base de 2 a 36.
  3. Escolhe uma Base de saída extra se também precisares de algo menos habitual, como a base 36 para identificadores curtos ou a base 3 para um quebra-cabeças.
  4. A tabela Resultados atualiza-se enquanto escreves. Marca ou desmarca Agrupar algarismos para inserir espaços a cada 4 algarismos binários ou hexadecimais e a cada 3 algarismos octais ou decimais. Cada linha tem o seu botão Copiar, que copia os algarismos sem espaços.

Todo o cálculo usa o BigInt do JavaScript, por isso não há um limite de tamanho com que te tenhas de preocupar: um número decimal de 200 algarismos é convertido com exatidão, sem os arredondamentos dos números de vírgula flutuante normais.

Como funcionam as bases

Num sistema posicional, cada algarismo é multiplicado por uma potência da base. Em decimal, 255 significa 2×10² + 5×10¹ + 5×10⁰. Em binário (base 2), o mesmo valor é 11111111, em octal (base 8) é 377 e em hexadecimal (base 16) é FF. As bases acima de 10 usam letras: A = 10, B = 11 … Z = 35, e é por isso que 36 é a maior base com o conjunto habitual de algarismos.

O hexadecimal é popular entre programadores porque um algarismo hexadecimal corresponde exatamente a quatro bits: FF é 1111 1111. O octal agrupa os bits de três em três, e é por isso que as permissões Unix como 755 se escrevem em octal.

Passo a passo

A secção Passo a passo mostra a resolução, útil para trabalhos de casa e exames:

  • Base N → decimal escreve os valores posicionais da parte inteira, por exemplo 1011₂ = 1×2³ + 1×2¹ + 1×2⁰ = 8 + 2 + 1 = 11.
  • Decimal → binário divide por 2 sucessivamente. Os restos, lidos do último para o primeiro, são os algarismos binários.
  • Para uma parte fracionária, a ferramenta multiplica por 2 repetidamente: cada parte inteira (0 ou 1) passa a ser o algarismo binário seguinte depois do ponto. 0,625 dá 1,25 → 1, 0,5 → 0, 1,0 → 1, portanto 0,625 = 0,101₂.

Frações que nunca terminam

Algumas frações não têm forma finita noutra base. O decimal 0,1 é 0,0001100110011… em binário, repetindo-se para sempre; é por isso que 0.1 + 0.2 não dá exatamente 0,3 na maioria das linguagens de programação. A ferramenta calcula as frações com exatidão, como razões, e para ao fim de Máx. de casas fracionárias. Quando tem de cortar o resultado, a linha indica-o, para saberes sempre se um valor é exato.

Complemento para dois

Os computadores guardam os inteiros negativos em complemento para dois: num inteiro de n bits, −x é guardado como 2ⁿ − x. A tabela Complemento para dois (inteiros com sinal) mostra o padrão de bits e o valor hexadecimal para 8, 16, 32 e 64 bits, e como o mesmo padrão é lido nas colunas Lido sem sinal e Lido com sinal. Por exemplo, −1 é 11111111 (FF) em 8 bits, e 200 introduzido como byte sem sinal lê-se −56 como byte com sinal. Quando um valor está fora do intervalo de uma largura (−128 a 255 para 8 bits), a linha indica Não cabe.

Perguntas frequentes

Como introduzo um número binário negativo?

Escreve um sinal menos: -1010 na base 2 é −10. Se já tens um padrão em complemento para dois, como 11110110, introdu-lo como número binário positivo e lê a coluna Lido com sinal para a largura que usas.

Porque é que as letras aparecem em maiúsculas?

As maiúsculas A–F são o estilo mais comum em hexadecimal. A entrada aceita os dois casos; algarismos em minúsculas e maiúsculas significam o mesmo.

Posso usar a vírgula como separador decimal?

Sim. Se o número não tiver nenhum ponto, uma única vírgula é lida como separador decimal, por isso 3,75 funciona como 3.75.

Há um limite para o tamanho do número?

A entrada aceita até 10 000 caracteres. Os passos só são mostrados para números com até 64 algarismos, para manter a página legível.

Para que serve a base 36?

Usa os algarismos 0–9 e as letras A–Z, o que dá a representação mais curta possível com caracteres alfanuméricos. É muito usada em identificadores compactos e encurtadores de URL.