Nouplo

Conversor de bases

0x2F é 47, e ninguém guarda isso na cabeça.

Os exemplos substituem temporariamente os dados e as configurações. Você pode restaurar seu trabalho anterior.

0 caracteres
Resultado
Cole ou digite acima para ver o resultado aqui.

Seus arquivos ficam no seu dispositivo

Esta ferramenta roda inteiramente no seu navegador. O que você cola é processado no seu dispositivo e nunca é enviado a um servidor, então é seguro usar com tokens, chaves e textos não publicados.

Exemplo

Exemplo: o registrador PORTB do Arduino Uno em binário, decimal e hexadecimal

Numa aula de robótica, a professora acende os LEDs dos pinos 13, 11 e 10 do Arduino Uno escrevendo direto no registrador PORTB. Ler a entrada como: Decimal; linhas 0b00100000, 0b00101100, 0x2C e 255.

  1. No Uno, os pinos digitais 8 a 13 são os bits 0 a 5 do PORTB. 0b00100000 liga só o bit 5, o pino 13 do LED da placa: decimal 32, hex 20.
  2. 0b00101100 liga os bits 5, 3 e 2, ou seja, os pinos 13, 11 e 10: decimal 44, hex 2C. O prefixo 0b faz a linha ser lida em binário mesmo com «Decimal» escolhido.
  3. A linha 0x2C faz o caminho inverso e devolve o mesmo binário, 101100. 255 é 11111111, o maior valor de 8 bits.
  4. A resposta vem sem os zeros à esquerda (101100); no código, escreva com 8 bits, 0b00101100, para ver bit a bit qual pino está ligado.
Linha Pinos ligados Binário Decimal Hex
0b00100000 131000003220
0b00101100 13, 11 e 10101100442C
0x2C 13, 11 e 10101100442C
255 bits 0 a 711111111255FF

PORTB = 44, PORTB = 0x2C e PORTB = 0b00101100 são a mesma instrução: o conversor mostra as formas lado a lado, com o octal junto, numa só vez.

Como funciona

  1. Digite os números, um por linha.
  2. Escolha em que base lê-los — ou escreva 0x, 0b ou 0o, e isso decide.
  3. Todas as bases comuns voltam de uma vez, então não há o que converter duas vezes.
  4. Ligue os bytes se estiver lendo um valor de um despejo de memória ou de um protocolo.

Perguntas frequentes

Preciso dizer em que base está?
Só para um número nu. 0x2F, 0b1010 e 0o17 dizem sozinhos e são lidos assim, qualquer que seja o ajuste, porque é assim que eles chegam: copiados de um depurador, de um editor hexadecimal ou de um rastro de pilha.
Um valor de 64 bits sobrevive?
Sobrevive. A aritmética é feita em precisão arbitrária, então 0xFFFFFFFFFFFFFFFF volta como 18446744073709551615 e não como o número arredondado que uma ferramenta apoiada nos números comuns do JavaScript daria. Esse arredondamento é silencioso, e é aí que mora o perigo.
Para que servem as bases estranhas?
As bases 32 e 36 aparecem em identificadores curtos e encurtadores de URL; as bases 12 e 7 aparecem em enigmas e lição de casa. Vai até 36, que é até onde chegam os dígitos mais o alfabeto.
Ele faz frações?
Não, só números inteiros. Uma fração binária é outra questão, com armadilhas próprias, e fingir que 0,1 converte limpo seria a maior delas.
Por que o binário perde os zeros à esquerda?
Os números voltam sem zeros à esquerda, como se escreve em matemática: 0b00101100 vira 101100 e 0x20 vira 100000. Para 8 bits, complete à esquerda até oito dígitos (00101100, 00100000).
E números negativos?
O sinal de menos é mantido: -5 volta como -101 em binário. Isso é sinal e módulo, não complemento de dois. Para o complemento de dois de -5 em 8 bits, converta 251 (256 − 5): 11111011, hex FB.

Ferramentas relacionadas