estamos acostumados com os números decimais, por isso não é difícil pra gente ir contando eles e parece mais do que óbvio que depois do 9 vem o 10, e não 01. sabemos desde crianças que o zero à esquerda não agrega nada..
isso porque nos números decimais cada casa tem seu valor (CDU, centenas, dezenas e unidades), que aprendemos lá no fundamental I
com os binários é a mesma coisa, só que cada casa (bit) vai ter um valor que é uma potência de base 2:
bit 8 | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 |
---|---|---|---|---|---|---|---|
2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
ou seja, cada casa (bit) tem o valor do resultado da potência se nele estiver o 1, ou não tem valor se nele estiver o 0:
bit 8 | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 |
---|---|---|---|---|---|---|---|
2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
para converter de decimal em binário, basta ir preenchendo (da maior casinha possível para a menor) com 1 e 0 para somar o valor que queremos, assim, para somar 7, começamos do bit com valor 4 (porque 8 é muito grande) e vamos completando com 1 as casas até que se some o valor 7. no final teremos preenchido as casas de valor 4 + 2 + 1 = 7, resultando que 7 em decimal = 111 em binário
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
---|---|---|---|---|---|---|---|
2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
e funciona com qualquer número. por exemplo, com o número 12, começaríamos a soma a partir do 8:
0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
---|---|---|---|---|---|---|---|
2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
8 + 4 = 12 , então 12 decimal = 1100 em binário.
fazendo um número grande: 125, fica:
0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
---|---|---|---|---|---|---|---|
2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
porque 64 + 32 + 16 + 8 + 4 + 1 = 125
é bem mais fácil do que ir fazendo a contagem, porque é a mesma lógica que já fazemos com os decimais, mas com os decimais estamos acostumados
C | D | U |
---|---|---|
x100 | x10 | x1 |
1 | 2 | 5 |
e obtemos 1x100 + 2x10 + 5x1 = 100 + 20 + 5 = 125