Ir para o conteúdo principal
Bethemesh

Conversor de bases: binário, octal, decimal, hexadecimal

Conversor de bases numéricas de 2 a 36: 255 = FF em hexadecimal = 11111111 em binário = 377 em octal. Notação posicional, método das divisões, cores #RRGGBB, permissões chmod 755 e máscaras de bits.

  • Área de transferência

Integrar este widget

Personalize o resultado, verifique a pré-visualização e copie o código.

Pré-visualização

Tipo de código de integração

Código a copiar

Responsivo e redimensionado automaticamente pela Bethemesh.

Número a converter

Esta ferramenta foi útil?

Como funciona esta ferramenta?

Escreva um inteiro numa base de 2 a 36 e veja-o logo em binário, octal, decimal e hexadecimal, além da base de destino que escolher. Serve para descodificar uma cor #RRGGBB, ler permissões Unix como chmod 755, escrever uma máscara de bits, conferir um exercício de numeração ou tratar identificadores em base 36.

Num sistema posicional de base b, cada algarismo vale o peso da sua posição, uma potência de b: 1F4 na base 16 é 1 × 256 + 15 × 16 + 4 = 500. As bases acima de 10 usam letras: A = 10, B = 11, até F = 15 em hexadecimal e Z = 35 na base 36. Maiúsculas e minúsculas são equivalentes na introdução.

Para passar de decimal para a base b, divide-se repetidamente por b e leem-se os restos de baixo para cima: 500 = 31 × 16 + 4, depois 31 = 1 × 16 + 15, logo 1F4. Binário, octal e hexadecimal estão ligados porque 8 = 2^3 e 16 = 2^4: um algarismo octal vale 3 bits e um hexadecimal 4 bits. Assim, 1010 1010 em binário agrupa-se em A e A, ou seja AA, ou 170 em decimal.

O cálculo usa inteiros de tamanho arbitrário: 18446744073709551615 (2^64 − 1) converte-se sem perdas para FFFFFFFFFFFFFFFF, o que um número JavaScript normal não consegue representar. Os prefixos 0b, 0o e 0x são aceites nas bases 2, 8 e 16, espaços e sublinhados são ignorados, e é permitido um sinal − ou +.

Limites: só são tratados inteiros, pelo que 3,5 é rejeitado. Um número negativo aparece com o sinal (−42 dá −101010), não em complemento para dois, que depende de uma largura em bits. Um algarismo que não existe na base de origem, como um 2 em binário, é assinalado.

Como usar esta ferramenta

  1. Escreva o número e a sua base

    Introduza o inteiro (com ou sem prefixo 0x, 0b, 0o) e escolha a base de origem: 2, 8, 10, 16, 36 ou um valor personalizado de 2 a 36.

  2. Escolha a base de destino

    Os resultados binário, octal, decimal e hexadecimal aparecem sempre, e a base de destino surge num campo à parte.

  3. Ajuste a apresentação

    Maiúsculas ou minúsculas, e agrupamento dos algarismos de 4 em 4 (binário, hexadecimal) ou de 3 em 3 para facilitar a leitura.

Notação posicional e mudança de base

Um inteiro N escreve-se na base b com algarismos d_i entre 0 e b − 1.

Valor de um número escrito na base b

N = Σ d_i × b^i (i de 0 a n − 1)

Cada algarismo é multiplicado pela potência de b da sua posição; o algarismo da direita tem a posição 0.

Divisão com resto

N = q × b + r

O resto r é o algarismo menos significativo na base b; repete-se com q.

Agrupamento binário

16 = 2^4 e 8 = 2^3

Um algarismo hexadecimal vale 4 bits e um octal 3 bits.

N
o inteiro a escrever
b
a base (2 a 36)
d_i
o algarismo na posição i (0 a b − 1)
q, r
quociente e resto da divisão por b

Exemplo: 500 ÷ 16 = 31 resto 4; 31 ÷ 16 = 1 resto 15 (F); 1 ÷ 16 = 0 resto 1. Lendo os restos de baixo para cima, 500 = 1F4 em hexadecimal.

Casos de uso

Cores web

Descodificar um código #RRGGBB em três valores decimais de 0 a 255, ou o contrário.

Permissões Unix

Ler um modo chmod em octal como uma sequência de bits r, w e x.

Máscaras e endereços

Escrever uma máscara de bits, ler um valor de memória ou perceber um campo binário.

Aulas de informática e matemática

Conferir exercícios de numeração ou comparar as representações de um mesmo inteiro.

Exemplos

255 em hexadecimal

255 = 15 × 16 + 15, o valor máximo de um byte.

Entrada

255 (base 10)

Resultado

FF em hexadecimal, 11111111 em binário, 377 em octal

Cor CSS laranja

FF = 255 (vermelho), 88 = 136 (verde), 00 = 0 (azul): rgb(255, 136, 0).

Entrada

FF8800 (base 16)

Resultado

16746496 em decimal

Permissões chmod 755

7 = 111 (rwx), 5 = 101 (r-x), 5 = 101 (r-x): rwxr-xr-x.

Entrada

755 (base 8)

Resultado

111101101 em binário, 493 em decimal

Byte agrupado

Os espaços são ignorados, e cada grupo de 4 bits dá um algarismo hexadecimal.

Entrada

1010 1010 (base 2)

Resultado

AA em hexadecimal, 170 em decimal

Base 36

1000 = 27 × 36 + 28, com R = 27 e S = 28.

Entrada

1000 (base 10)

Resultado

RS em base 36

Dicas e boas práticas

  • Lembrete: 16 = 2^4, por isso um algarismo hexadecimal são exatamente 4 bits (FF = 1111 1111).
  • Um byte tem 8 bits: de 00 a FF em hexadecimal, de 0 a 255 em decimal.
  • As bases acima de 16 usam letras até Z; a introdução aceita maiúsculas e minúsculas.
  • Para números com parte fracionária, converta separadamente a parte inteira e a fracionária com uma ferramenta própria.
  • Verifique uma conversão fazendo o caminho inverso: deve voltar ao número inicial.

Fontes e referências

Perguntas frequentes

Como se converte de decimal para binário?

Divida por 2 anotando os restos e leia-os de baixo para cima. Por exemplo, 13 dá 1101: 13 = 6 × 2 + 1, 6 = 3 × 2 + 0, 3 = 1 × 2 + 1, 1 = 0 × 2 + 1.

Como se converte de hexadecimal para decimal?

Multiplique cada algarismo por uma potência de 16. FF = 15 × 16 + 15 = 255, e 1F4 = 1 × 256 + 15 × 16 + 4 = 500.

Que bases são suportadas?

Todas as bases inteiras de 2 a 36, incluindo binário (2), octal (8), decimal (10), hexadecimal (16) e base 36 (algarismos 0-9 e depois A-Z).

Posso converter números negativos ou fracionários?

Os negativos são aceites com sinal − e mostrados com o sinal (−42 dá −101010), sem complemento para dois. Os números fracionários não são aceites.

Há um limite de tamanho?

Na prática não: o cálculo usa inteiros de tamanho arbitrário. 2^64 − 1 = 18446744073709551615 dá FFFFFFFFFFFFFFFF.

Ferramentas relacionadas

Ferramentas semelhantes ou complementares a esta.

Ferramentas semelhantes

Converta uma cor entre HEX, RGB e HSL com os respetivos valores equivalentes.

Matemática e cálculoUtilizar esta ferramenta

Codifique texto em Base64 ou descodifique uma cadeia Base64 para recuperar o conteúdo original.

Matemática e cálculoEm destaqueUtilizar esta ferramenta

Escreva um número por extenso em português, inglês, francês, espanhol, alemão ou italiano, ou recupere os algarismos a partir das palavras.

Matemática e cálculoEm destaqueUtilizar esta ferramenta