Conversor de Bases Numéricas

Digite em qualquer base e veja as outras na hora, com complemento de dois e o passo a passo.

Resultado

202

em decimal

Bits necessários
8
Hexadecimal
0xCA
Passo a passoSoma das potências e divisões sucessivas

De decimal para binário: divisões sucessivas por 2

DivisãoQuocienteResto
202 ÷ 21010
101 ÷ 2501
50 ÷ 2250
25 ÷ 2121
12 ÷ 260
6 ÷ 230
3 ÷ 211
1 ÷ 201

Restos de baixo para cima: 11001010

De decimal para octal: divisões sucessivas por 8

DivisãoQuocienteResto
202 ÷ 8252
25 ÷ 831
3 ÷ 803

Restos de baixo para cima: 312

De decimal para hexadecimal: divisões sucessivas por 16

DivisãoQuocienteResto
202 ÷ 161210 (A)
12 ÷ 16012 (C)

Restos de baixo para cima: CA

Aviso Legal: Conversão de inteiros. Confira o tamanho e a ordem dos bytes (endianness) no manual do equipamento antes de gravar um valor num registrador.

O que é uma base numérica

Uma base numérica diz quantos algarismos diferentes o sistema usa e quanto vale cada posição. No decimal (base 10) são dez algarismos, de 0 a 9, e cada posição vale 10 vezes a da direita: 345 = 3·100 + 4·10 + 5·1.

Na eletrônica digital aparecem outras três bases:

  • Binário (base 2): só 0 e 1, os dois estados de um bit. É como o microcontrolador guarda tudo.
  • Hexadecimal (base 16): algarismos de 0 a 9 e de A a F (A = 10, B = 11, …, F = 15). Cada dígito hexadecimal equivale a exatamente 4 bits, por isso é o jeito curto de escrever um byte: 1100 1010 vira CA.
  • Octal (base 8): de 0 a 7, cada dígito equivale a 3 bits. Aparece em permissões de arquivo no Linux e em equipamentos antigos.

Em código, os prefixos mais comuns são 0b para binário (0b1010), 0o ou só 0 para octal e 0x para hexadecimal (0xCA). O conversor aceita os prefixos 0b, 0o e 0x, e ignora espaços e _.

Como converter de qualquer base para decimal

Multiplique cada dígito pela potência da base da sua posição (a da direita é a posição 0) e some tudo.

Exemplo: 1100 1010 em binário.

  1. As posições com 1 são a 7, a 6, a 3 e a 1.
  2. 1·2⁷ + 1·2⁶ + 1·2³ + 1·2¹ = 128 + 64 + 8 + 2 = 202.

Em hexadecimal, CA = 12·16¹ + 10·16⁰ = 192 + 10 = 202.

Como converter de decimal para outra base

Divida o número pela base de destino, anote o resto e repita com o quociente até ele chegar a zero. Os restos, lidos de baixo para cima, são os dígitos.

Exemplo: 202 para hexadecimal.

Divisão Quociente Resto
202 ÷ 16 12 10 (A)
12 ÷ 16 0 12 (C)

De baixo para cima: CA. O mesmo método com divisões por 2 dá 11001010 e com divisões por 8 dá 312.

Atalho entre binário e hexadecimal

Como 16 = 2⁴, não precisa passar pelo decimal: separe o binário em grupos de 4 bits a partir da direita e troque cada grupo pelo seu dígito.

Binário 0000 0001 0010 0011 0100 0101 0110 0111
Hexadecimal 0 1 2 3 4 5 6 7
Binário 1000 1001 1010 1011 1100 1101 1110 1111
Hexadecimal 8 9 A B C D E F

1100 1010 = C A = CA. Com o octal é igual, em grupos de 3 bits: 011 001 010 = 312.

Números negativos: complemento de dois

Um registrador de 8 bits guarda 256 padrões (de 0000 0000 a 1111 1111). Lidos sem sinal, eles valem de 0 a 255. Lidos com sinal, em complemento de dois, o bit mais à esquerda indica o sinal e a faixa vai de −128 a 127.

A regra para N bits:

  • Do padrão para o número: se o bit mais à esquerda é 0, o valor é o próprio padrão; se é 1, o valor é o padrão menos 2ᴺ.
  • Do número para o padrão: se o número é negativo, some 2ᴺ.

Exemplo em 8 bits (2⁸ = 256): o padrão CA = 202 começa com 1, então vale 202 − 256 = −54. No sentido contrário, −54 + 256 = 202 = CA.

O método de cabeça dá o mesmo resultado: escreva 54 em binário (0011 0110), inverta todos os bits (1100 1001) e some 1 (1100 1010).

Tamanho Faixa sem sinal Faixa com sinal
8 bits 0 a 255 −128 a 127
16 bits 0 a 65.535 −32.768 a 32.767
32 bits 0 a 4.294.967.295 −2.147.483.648 a 2.147.483.647
64 bits 0 a 18.446.744.073.709.551.615 −9.223.372.036.854.775.808 a 9.223.372.036.854.775.807

Limitações

  • O conversor trabalha só com números inteiros: parte fracionária e ponto flutuante (IEEE 754) ficam de fora.
  • No modo sem sinal, o limite é 1.024 bits; o passo a passo aparece até 64 bits.
  • Um valor de 16 ou 32 bits pode ser gravado com os bytes em ordens diferentes (big-endian ou little-endian, comum no Modbus). Confira no manual do equipamento.

Perguntas frequentes

Como converter binário para decimal? Some as potências de 2 das posições que têm 1, contando a partir de 0 na direita. 1010 = 2³ + 2¹ = 8 + 2 = 10.

Como converter decimal para binário? Divida por 2 até o quociente zerar e leia os restos de baixo para cima. 10 ÷ 2 = 5 resto 0; 5 ÷ 2 = 2 resto 1; 2 ÷ 2 = 1 resto 0; 1 ÷ 2 = 0 resto 1 → 1010.

Quanto vale FF em decimal? 255 sem sinal (15·16 + 15). Em 8 bits com sinal, FF vale −1.

Por que o hexadecimal usa letras? A base 16 precisa de 16 algarismos e só existem 10 (de 0 a 9). As letras de A a F completam os valores de 10 a 15.

Quantos bits tem um byte? 8 bits, ou 2 dígitos hexadecimais. Um byte guarda de 0 a 255 sem sinal.

Para ler o valor de um resistor pelas faixas coloridas, use o código de cores de resistores.