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
Nenhum comentário:
Postar um comentário