5 Sistemas Octal e Hexadecimal
5 Sistemas Octal e Hexadecimal
como tentativa de compactar números binários. Então, eu converti um binário grandão para o
sistema octal, e isso me possibilitava a escrita do número utilizando menos algarismos. Só que
o sistema octal se mostrou ineficiente para isso, e o que se usa hoje com a finalidade de
compactar sistema binário é o sistema hexadecimal. Como o octal foi importante em um
determinado momento da computação, eu vou falar para vocês o que ele é. Então, o octal
é o sistema de base 8. É o sistema de base 8. O que significa? Que ele tem oito algarismos
básicos que são os algarismos de 0 a 7. Ok, vamos ver um exemplo. Quanto vale o 4701 na
base 8? Vocês já aprenderam a conversão de uma base b qualquer para base 10. Então, para
saber quanto vale este número, o que nós temos que fazer? Marcar as posições. Lembrando
que o mais à direita é o que tá na posição zero, então é a posição menos significativa. À
medida que eu vou caminhando para a esquerda, as posições ficam mais significativas. Como é
que eu vou calcular isso aqui? 4 x 8, é a base que estou, elevado a 3, que é a posição, + 7 x 8
elevado a 2, + 0 x 8 elevado a 1, + 1 x 8 elevado a 0. Isso aqui vai me dar o resultado 2.497 na
base 10. O que significa isso, pessoal? Significa que se eu falo para vocês: "tem um caminhão
carregando 4.701 caixas, mas 4.701 caixas na base 8", na verdade, quantas caixas têm dentro
do meu caminhão? dois mil quatrocen... e 2.497 caixas. É isso que essa conversão nos mostra.
Como eu já falei para vocês, o sistema octal já não é mais usado. Então a gente hoje utiliza o
sistema hexadecimal,
que é um sistema de base 16 para compactar binários. Significa ao invés de utilizar trocentos
números zeros e uns, utilizando menos dígitos quando eu converto para hexadecimal. Mais
uma vez, o hexadecimal é muito usado na computação, principalmente em redes de
computadores, em sistemas operacionais, coisas que vocês verão mais para frente no curso.
Vamos pensar na base 16. Se eu tenho base 16, significa que eu tenho que ter 16 dígitos, mas
o sistema decimal nos oferece apenas 10 dígitos, que são:
E agora, como eu faço para representar do 10 ao 15 em hexadecimal? Para isso, eu uso letras,
por quê? Porque os meus símbolos de todas as bases devem ser únicos. Cada símbolo que
representa um número de uma base tem que ser único. Eu não posso ter símbolos compostos.
Então, o meu 10 vale A, 11 B, 12 C, 13 D, 14 E, e o 15 F.
O resultado final então é 992,625 na base 10. Fizemos, então, uma conversão de hexadecimal
para decimal. A gente tem que pensar que como eu tenho 8 bits representando um byte, com
apenas dois dígitos hexadecimais, eu represento um byte. Então, quando eu tenho números
muito grandes em binários, eu consigo fazer uma economia de espaço bem grande
representando em hexadecimal. Então... para compactação, o sistema hexadecimal é
extremamente eficiente. Vamos agora ver uma tabelinha.
A gente vai ver uma tabelinha bem legal de fazer. É algo que, depois, eu acho que vocês devem
repetir em casa sozinhos para ver o que que acontece. Vamos fazer uma tabela assim decimal,
binário e hexadecimal.
O número zero é zero em qualquer lugar. Vou usar quatro aqui porque eu já sei que eu vou
precisar de quatro dígitos.
Então um,
vale um aqui,
vale um aqui.
Dois,
dois,
e dois.
Três, três, e três. Quatro,
quatro,
e quatro.
Cinco,
cinco,
e cinco.
Seis,
seis, e seis.
Sete,
sete, e sete.
Oito,
oito, e oito.
Nove,
nove,
e nove.
Dez,
dez,
e dez. O que que eu tô querendo mostrar para vocês? Eu vou acrescentando sequencialmente
uma unidade em qualquer base que eu tô. E com isso, até quando eu posso fazer esse
acréscimo sequencial de um? Até infinito. Eu vou fazendo isso infinitamente. Vamos continuar
a partir do 11? Então, vamos continuar a partir do 11. Eu tenho 11 em decimal, eu tenho 11
em binário e eu tenho 11 em hexa. Eu tenho 12 em decimal, 12 em binário, 12 em hexa. 13 em
decimal, 13 em binário, 13 em hexa. 14 em binário... desculpa, 14 em decimal, 14 em binário,
14 em hexa. 15 em decimal, 15 em binário, 15 em hexa. Nossa!, E agora, acabou? Eu não
consigo mais representar o 16? Claro que consegue, basta que a gente continue seguindo a
lógica dos acréscimos unitários em cada base. Como que eu faço um acréscimo unitário aqui
nesse binário?
Opa! E o hexa? Qual será o menor número de dois dígitos em hexa? Este aqui:
Eu volto a tabela lá para cima e vou fazendo acréscimos unitários, agora de dois dígitos. Qual
será o próximo hexa?
e assim por diante, até eu chegar em 1F. Depois que eu chegar em 1F, eu parto para o 2 0 e
assim por diante. Sempre com acréscimos unitários, 1 1 em hexa, quanto que vale em
decimal? 17. Quanto que vale em binário? 10001. Entenderam a lógica? A lógica é: Acréscimos
unitários para a sequência de todos os números de qualquer base. É isso aí.