Estou fazendo esta página apenas para mostrar como eu aprendi a converter bases númericas do jeito mais fácil possível.
8 | 4 | 2 | 1 |
1 | 1 | 1 | 1 |
Okay, está vendo esta tabela? você pode usar ela para converter entre Decimal, Binário e
Hexadecimal. Para isso, basta você comparar os números embaixo com os de cima, por exemplo, se
termos 1000
em Binário, vemos que na tabela apenas o 8 teria o
número 1 embaixo dele, logo 10002 = 810
8 | 4 | 2 | 1 |
1 | 0 | 0 | 0 |
Decimal → Binário
1010
. Aqui temos 10 em Decimal, o número 1 é positivo, e o 0 é
negativo, ou seja, 1010
equivale a 1010
, basta olhar na "tabela", e pode
ver que o 8
e o 2
estão exatamente em cima do 1
que está na versão
binária, logo basta somar 8 + 2 = 1010
.
8 | 4 | 2 | 1 |
1 | 0 | 1 | 0 |
Binário → Decimal
01112 = 710
. Caso você esteja em dúvida, agora temos 3 positivos no nosso
número binário, ou seja, 111 (0111)
. Para converter, você deve ver o número acima deles na
"tabela", e somar da esquerda para a direita, sendo assim, fica: 4 + 2 + 1 = 7
logo,
01112 = 710
.
8 | 4 | 2 | 1 |
0 | 1 | 1 | 1 |
Binário → Hexadecimal
Este é idêntico ao exercício anterior, afinal Hexadecimal é igual ao Decimal, porém na base 16. Vejamos então: se
temos 100111002
em Binário, como é em Hexadecimal?
9C
1001
). A resposta
é 8 e 1. Logo, 8 + 1 = 9
. Agora o segundo grupo, quais números estão acima
dos 1's? (1100
). A resposta é 8 e 4,
8 + 4 = 12
e como sabemos, a partir do 9, em hexadecimal, temos letras (A,
B, C, D, E, F), que vão até o 15 (F). Logo a resposta correta é 9C16.
Conseguiu entender? Basta seguir essa tabela e consegue fazer tudo. Caso você esteja se perguntando como faz para
números binários com mais de 4 dígitos (Ex: 10110...) Você deve continuar a tabela para a
esquerda, ela é feita dobrando o próximo número a cada dígito, uma forma fácil de saber até qual número você
deve ir, é ir até o número mais próximo possível do número que vai converter, ou seja, se você foi converter de
Decimal 3410
para Binário
001100102
, você iria até no máximo o número 32 na tabela, pois, a ordem é: {1, 2, 4, 8,
16, 32, 64, 128...} e o 32 é o número mais próximo que não passa do nosso número Decimal, que é
34. ou seja, para converter esse Binário que mencionei ali nos parênteses (10110) em
Decimal, você usaria essa tabela:
16 | 8 | 4 | 2 | 1 |
1 | 0 | 1 | 1 | 0 |
Veja bem, que de números "positivos" (com 1 embaixo) temos, da esquerda para a direita: (16, 4 e 2).
Logo, a resposta seria: 2210
(16 + 4 + 2).
Não se esqueça de um detalhe, se for de Binário para Hexadecimal, você deve
separar o número em grupos de 4bits para que funcione. O número que acabamos de converter
seria: 0001 01102
, invés de 101102
(Foi adicionado três
0's por causa que, ao separar os bits em grupos de 4, caso um número fique
sozinho, você preenche o resto com 0's). Porém!! Caso seja de Binário para
Decimal, você NÃO separa os números. No Hexadecimal nós
calculamos os grupos separadamente, e no Decimal, fazemos de uma vez. Ou seja, o que no
Decimal seria 16 + 4 + 2 = 2210
, no Hexadecimal seria
1616
, sendo assim 0001 = 1
e 0110 = 6
. Caso você queira
separar por motivos de organização, não tem problema, apenas lembre-se de calcular eles juntos se for de
Decimal, e separados se for de Hexadecimal. Ou seja, não calcule
0001 0001
como 1 e 1 (Hexadecimal), invés de 17 (Decimal, 16 +
1).
Não entendeu ainda? Veja esse vídeo: link