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
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.
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
História,
9 meses atrás
Matemática,
9 meses atrás
Pedagogia,
1 ano atrás
Matemática,
1 ano atrás
Física,
1 ano atrás
Espanhol,
1 ano atrás
Matemática,
1 ano atrás