Informática, perguntado por lucasalexandre76, 1 ano atrás

Bom dia, alguém pode me dar um exemplo prático da utilização do sistema numérico hexadecimal ?

Soluções para a tarefa

Respondido por bokomoko
0
Hexadecimal é utilizado para facilitar a visualização de dados crus como são armazenados nas memórias dos computadores.

O que acontece é que nós humanos estamos acostumados com o sistema decimal e organizamos tudo de acordo com esse sistema de numeração. Nossas contas, nossos números, são todos organizados com dígitos decimais.

Acontece que computadores usam o sistema binário, que é mais simples porém, precisa de mais dígitos do que o sistema decimal. Aliás, muito mais dígitos, 5 vezes mais para ser exato. Para complicar a base 10 não é uma potência inteira da base 2. Isso faz com que a conversão de números binários para decimais e vice-versa não tenha sempre a mesma quantidade de dígitos de uma base para outra. Um dígito decimal pode equivaler a 3 ou a 4 algarismos binários. 

Já a base 16 é uma potencia exata da base 2, no caso é 4 vezes. Um algarismo hexadecimal SEMPRE vai equivaler a quatro algarismos da base 2. Isso facilita as conversões e até a exibição dos dados.

Imagine uma posição de memória de um computador que contém os dígitos binários 1000001. O que significa esse número ? 
Pode significar muita coisa. Pode significar o inteiro 65 ou pode significar a letra A maiúscula. Pode significar o número -32. Tudo depende do semântico que se quer associar.

Para enxergar esse número mais facilmente é melhor usar a notação hexadecimal que no caso seria 41.

Aí tem uma coisas interessantes. Por exemplo:
Letras maiúsculas sempre terão código hexa começando com 4 ou com 5
Letras minúsculas sempre terão código hexa começando com 6 ou 7

Assim, para converter de maiúsculas para minúsculas é só trocar 4-5 do primeiro dígito por 6-7.

Outro detalhe interessante, os caracteres dos algarismos. Não é o número ok ? mas o caracter do algarismo. Tipo "0" é diferente de 0.
Em hexa, todos os algarismos 0 a 9 estão com código 30 a 39, ou seja, é só adicionar um 3 antes do número e terá o código do algarismo.

Para a maioria das pessoas normais, até mesmo de programadores normais, hoje em dia é muito raro ter algo que justifique trabalhar com hexadecimal direto.

Na época heróica da informática, os sistemas de computação não tinham os recursos e proteções que hoje facilitam demais o trabalho de programar. 

As vezes os programas se comportavam mal porque corrompiam os dados devido a erros de programação. O jeito era fazer um "dump da memória" e analizar, byte a byte, o conteúdo dos endereços de memória e ver onde estava a caquinha. 

Hoje em dia, memória é muito barato (em comparação com "antigamente") então os computadores podem armazenar os programas do programador e vários outros programas, serviços, rotinas e acessórios de software que facilitam o rastreamento de erros, praticamente eliminando a necessidade de manipular dados manualmente em hexa.

Por outro lado, embora não se utilize, entender como funciona a aritmética binária, octal e hexa ajuda ao programador como otimizar o programa e entender melhor como os computadores funcionam, extraindo deles mais coisas.


Perguntas interessantes