Em nosso dia a dia utilizamos sistemas de numeração para mensurar nosso universo analógico. Especificamente, o sistema decimal, ou seja, com a combinação dos símbolos de 0 a 9 representamos todas as grandezas que nos são conhecidas.
Assim, 10Kg, 2h, 120 dias, 2435 reais...
No entanto, essa mordomia não irá ocorrer nos sistemas digitais que trabalham, majoritariamente, com o sistema Binário ou o sistema Hexadecimal. Por isso, mãos, ou melhor, cérebros à obra e vamos aprendê-los:
Sistema Binário
Como o próprio nome sugere, no sistema Binário, só existem dois símbolos possíveis o 0 e o 1 (zero e um).
Vamos mostrar a mágica da formação dos números, primeiro usando o sistema decimal que estamos acostumados. Se você já souber tudo sobre isso pode pular para as conversões.
Pense no número 543 (trezentos e quarenta e três). Como sabemos que ele tem esse valor e porque o lemos desta maneira? Ora, aulas do ensino fundamental I quando você tinha seus 6 anos de idade.
Lembrou da escola? Note que usamos a base dez (decimal). Você consegue imaginar como faremos com o sistema binário (base dois)? Bem isso que você está pensando! Vejamos um número binário qualquer, por exemplo, 10101:
Ou seja, o número binário 10101 corresponde ao número decimal 21. Você acabou de fazer sua primeira conversão binária – decimal! Show!
Conversão Binário para Decimal
Você pode usar o sistema de decomposição como vimos no exemplo acima ou encurtar o processo usando a ideia de que há uma potência de 2 crescente: 20, 21, 22, 23, 24 e assim por diante e que equivalem, em números decimais a 1,2,4,8,16...Assim:
27
|
26
|
25
|
24
|
23
|
22
|
21
|
20
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Tudo que eu preciso fazer é colocar o número binário nesta “tabela” e somar apenas os valores decimais que estiverem “ligados” (com valor 1) em seu correspondente binário. Vamos pegar o número binário 111100 e convertê-lo para decimal:
27
|
26
|
25
|
24
|
23
|
22
|
21
|
20
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
Eu poderia preencher com zeros a esquerda, mas neste caso não é necessário porque só preciso somar os valores correspondentes “ligados” (com valor 1). Em nosso caso, estão “ligados” o 25, 24, 23 e 22 , ou seja, estão “ligados” o 32, 16, 8 e 4. Somando-os 32+16+8+4, obtenho o decimal 60. Portanto, o binário 111100 corresponde ao decimal 60.
Conversão Decimal para Binário
Mas e o contrário, quando tenho um número decimal e quero saber seu equivalente binário? Bom, se para converter de binário para decimal eu usei multiplicações sucessivas, o contrário são divisões sucessivas por dois. Vamos, por exemplo, converter o número 197 decimal para seu equivalente binário:
Fazendo divisões sucessivas até que o resto seja menor que dois. Note que os restos, obviamente, são 0 ou 1.
Para montar o binário equivalente, comece pelo quociente da última divisão, chamado de LSB (least significant bit ou bit menos significativo) e agrupe-os até o MSB (most signficant bit ou bit mais significativo).
Em nosso exemplo, o número decimal 197 tem seu equivalente binário que é 11000101.
Sistema Hexadecimal
O sistema de numeração hexadecimal usa base 16. Um número hexadecimal é representado utilizando-se um conjunto de 16 símbolos possíveis: os dígitos são de 0 a 9 e as letras A, B, C, D, E e F.
Compare:
Hexadecimal
|
Decimal
|
0
|
0
|
1
|
1
|
2
|
2
|
3
|
3
|
4
|
4
|
5
|
5
|
6
|
6
|
7
|
7
|
8
|
8
|
9
|
9
|
A
|
10
|
B
|
11
|
C
|
12
|
D
|
13
|
E
|
14
|
F
|
15
|
A conversão hexadecimal segue os mesmos passos das conversões binárias/decimais só mudaremos, obviamente , a base para 16.
Conversão Hexadecimal para Decimal
Usamos a multiplicação sucessiva por potências de 16. Por exemplo vamos converter o número hexadecimal A1F para decimal:
Assim, A vira 10 e F vira 15. Basta verificar na tabelinha.
Conversão Decimal para Hexadecimal
Vamos pegar o mesmo 2591 para fazer esta operação. Basta que se faça divisões sucessivas por 16 até que o resto seja menor que 16.
Começando pelo quociente da última divisão, monta-se o hexadecimal equivalente. Lembre-se de substituir os números maiores que 9 pela letra equivalente no sistema hexadecimal (lembre-se da tabelinha). Assim:
10 1 15
A 1 F
Logo, o decimal 2591 equivale a A1F em hexadecimal.
Conversões Binário para Hexadecimal
Para converter um número binário em hexadecimal, separa-se o número binário em grupos de 4 bits, da direita para a esquerda. Em seguida, transforma-se cada grupo de 4 bits em hexadecimal. Ao final, simplesmente une-se os resultados em um só.
Vamos converter o binário 111101 para hexadecimal:
0
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
0 x 23
|
0 x 22
|
1 x 21
|
1 x 20
|
1 x 23
|
1 x 22
|
0 x 21
|
1 x 20
|
0 + 0 + 2 + 1 = 3
|
8 + 4 + 0 + 1 = 13
| ||||||
3
|
13
|
Usando a tabelinha de hexadecimal vemos que 3 é o próprio 3, mas 13 equivale em hexadecimal a letra D, então nosso número binário 111101 corresponde a 3D em hexadecimal.
Note que foi necessário completar com zeros a esquerda para formar os grupos de quatro bits.
Perceba que a conversão para decimal é igual a que já aprendemos, ou seja, multiplicação por potências de 2.
Conversões Hexadecimal para Binário
Para converter números hexadecimais em binários, decompõem-se o número hexadecimal diretamente em binários de 4 dígitos. Os zeros mais à esquerda do resultado binário podem ser omitidos.
Lembre-se que se houver alguma letra você deve converter seu equivalente decimal para binário. No nosso exemplo, converteremos 12F em hexa para binário (F corresponde ao decimal 15).
1
|
2
|
F
| |||||||||
23
|
22
|
21
|
20
|
23
|
22
|
21
|
20
|
23
|
22
|
21
|
20
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
Logo, nosso hexadecimal 12F corresponde a 100101111 em binário.
Resumo
Exercícios
*Respostas no final do capítulo
01) Converta de binário para decimal:
a.11111111
b.1000001
c.00000001
d.1000000
e.10001
02) Converta de decimal para binário:
a.254
b.13
c.61
d.33
03) Converta de Hexadecimal para Decimal
a.AAA
b.123
c.EA1
04) Converta de Decimal para Hexadecimal
a.555
b.100
c.255
05) Converta de binário para hexadecimal
a.1010 1010
b.1111 1111
c.11101 1010
06) Converta de hexadecimal para binário
a.ABC
b.A
c.1A
Respostas
01) a.255 ; b.65 ; c.1 ; d.64 ; e.17
02) a.11111110 ; b.1101; c.111101; d.100001
03) a.2730; b.291 ; c.3745
04) a.22B ; b.64 ; c.FF
05) a.AA ; b.FF ; c.1DA
06) a.1010 1011 1100 ; b.1010 ; c.11010
Autor
Marcos Pizzolatto
Comentários
Postar um comentário