Atualizado pela última vez em 31 de janeiro de 2024
Em artigos anteriores sobre o sistema hexadecimal, embora eu tenha fornecido muitos detalhes, percebi que algumas lacunas no entendimento ainda podem persistir. Desta vez, decidi compilar todos os insights desses artigos e elaborar a explicação mais abrangente e definitiva sobre o sistema hexadecimal disponível na internet. Vamos mergulhar nessa jornada juntos!
Recomendo fortemente que você veja os outros artigos que fiz sobre o tema, porque nesse vou ser mais denso nas explicações, ok?
O sistema hexadecimal, também conhecido como base 16, é um sistema numérico posicional amplamente utilizado em computação e eletrônica devido à sua compatibilidade com a arquitetura binária das máquinas(os zeros e uns que a máquina interpreta). Neste artigo, abordaremos as bases do sistema hexadecimal, a conversão entre diferentes sistemas numéricos e o uso prático do hexadecimal no mundo da tecnologia.
O que é o sistema hexadecimal?
De forma simplória, o sistema hexadecimal é um sistema de numeração que usa 16 símbolos diferentes para representar números. Ele inclui os algarismos arábicos de 0 a 9 e as letras do alfabeto latino de A a F (ou a a f). Cada símbolo representa um valor, conforme a tabela a seguir:
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
Conversão entre sistemas numéricos
Este tema é o mais crítico para quem está estudando sobre os sistemas números. Mas é pense simples e veja que trata-se de operações básicas de matemática. A conversão entre diferentes sistemas numéricos é uma habilidade essencial ao trabalhar com hexadecimal. Aqui estão os passos básicos para converter números entre decimal, binário e hexadecimal.
Decimal para hexadecimal:
- Divida o número decimal por 16.
- Anote o quociente e o resto.
- Divida o quociente obtido no passo anterior por 16.
- Continue dividindo os quocientes sucessivos até obter um quociente menor que 16.
- Anote os restos e o último quociente em ordem inversa. Essa sequência de símbolos é o número hexadecimal equivalente.
Hexadecimal para decimal:
- Multiplique cada dígito hexadecimal pelo valor da base (16) elevado à potência correspondente à posição do dígito (começando em 0 da direita para a esquerda).
- Some todos os resultados das multiplicações.
- O resultado é o número decimal equivalente.
Hexadecimal para binário e vice-versa:
- Converta cada dígito hexadecimal em um grupo de 4 bits (dígitos binários) usando a tabela de conversão padrão.
- Concatene os grupos de bits para formar o número binário.
- Para converter de binário para hexadecimal, divida o número binário em grupos de 4 bits e converta cada grupo em um dígito hexadecimal usando a tabela de conversão.
- Aplicações práticas do sistema hexadecimal
O sistema hexadecimal tem várias aplicações práticas, especialmente em computação e eletrônica. Algumas das principais aplicações incluem:
Representação de cores:
O sistema hexadecimal é usado para representar cores na web (HTML e CSS) e em aplicativos de design gráfico. Cada cor é representada por um código hexadecimal de 6 dígitos, onde os dois primeiros dígitos representam o valor de vermelho, os dois seguintes representam verde e os dois últimos representam azul.
Endereçamento de memória:
O hexadecimal é usado para representar endereços de memória em sistemas de computador. Isso facilita a leitura e a compreensão dos endereços de memória pelos programadores e engenheiros de hardware, além de tornar a representação mais compacta e eficiente. Dada a natureza binária dos computadores, o sistema hexadecimal se encaixa perfeitamente, já que cada dígito hexadecimal pode ser convertido diretamente em um grupo de 4 bits (dígitos binários).
Por exemplo, em um sistema de 32 bits, um endereço de memória é representado por 8 dígitos hexadecimais. Cada dígito hexadecimal corresponde a 4 bits, resultando em um total de 32 bits (8 dígitos hexadecimais x 4 bits/dígito).
Aqui está um exemplo de um endereço de memória hexadecimal:
Endereço de memória: 3F8A12C0
Este endereço de memória pode ser dividido em grupos de dois dígitos hexadecimais, facilitando a leitura:
Endereço de memória: 3F 8A 12 C0
Depuração e programação:
Os programadores usam o sistema hexadecimal ao trabalhar com dados binários e ao depurar código, pois o hexadecimal é mais fácil de ler e escrever do que o binário. Também é útil na análise de arquivos executáveis e na manipulação de dados a nível de bits.
Vamos considerar um exemplo onde um programador deseja analisar o conteúdo de um arquivo binário ou depurar um código que manipula dados binários.
Suponha que temos os seguintes dados binários:
11010011 01011010 10100101 11001100
Ler e interpretar esses dados em sua forma binária pode ser difícil e demorado. No entanto, ao converter esses dados para o sistema hexadecimal, podemos representá-los de forma mais compacta e fácil de ler:
D3 5A A5 CC
Agora, os dados são mais legíveis e a manipulação se torna mais simples. Um programador pode facilmente identificar padrões, analisar valores e detectar possíveis problemas.
Codificação de caracteres:
Sistemas de codificação de caracteres, como o Unicode, usam o sistema hexadecimal para representar os pontos de código atribuídos a cada caractere. Isso permite que os desenvolvedores trabalhem facilmente com caracteres de várias línguas e símbolos.
Um exemplo comum de utilização do sistema hexadecimal em sistemas de codificação de caracteres como o Unicode é o símbolo do euro (€). O ponto de código do símbolo do euro no padrão Unicode é U+20AC.
Neste exemplo, o ‘U+‘ indica que o número que segue é um valor Unicode, e ‘20AC‘ é o valor hexadecimal do ponto de código do símbolo do euro.
Protocolos de comunicação e endereçamento de rede:
O sistema hexadecimal é frequentemente utilizado em protocolos de comunicação de dados, como o IPv6 (Protocolo de Internet versão 6), que usa endereços de 128 bits representados em notação hexadecimal.
O Protocolo de Internet versão 6 (IPv6) é a versão mais recente do protocolo IP, projetado para substituir o IPv4, que está se esgotando devido ao crescente número de dispositivos conectados à internet. O IPv6 usa endereços de 128 bits em vez dos endereços de 32 bits do IPv4, oferecendo um espaço de endereçamento significativamente maior.
Aqui está um exemplo de um endereço IPv6:
Endereço IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
Exemplos de conversão e uso do hexadecimal
Vamos ver alguns exemplos de conversão e uso do sistema hexadecimal em diferentes contextos:
Exemplo de conversão decimal para hexadecimal:
Número decimal: 2023
2023 ÷ 16 = 126 (resto 7, primeiro digito da esquerda) 126 ÷ 16 = 7 (resto 14)
Leitura dos restos e do último quociente em ordem inversa: 7E7
Número hexadecimal: 7E7
Vou explicar melhor essa conversão e porque deu esse número:
- Divida o número decimal (2023) por 16, que é a base do sistema hexadecimal.2023 ÷ 16 = 126 (quociente) com um resto de 7O resto desta divisão é 7, que é o primeiro dígito hexadecimal (da direita para a esquerda).
- Em seguida, divida o quociente obtido no passo anterior (126) por 16 novamente.126 ÷ 16 = 7 (quociente) com um resto de 14O resto desta divisão é 14, que, no sistema hexadecimal, é representado pela letra “E” (lembre-se de que A = 10, B = 11, C = 12, D = 13, E = 14 e F = 15).
- Continue dividindo os quocientes sucessivos por 16 até obter um quociente menor que 16.Neste caso, o quociente já é 7, que é menor que 16. Portanto, podemos parar aqui.
- Anote os restos e o último quociente em ordem inversa (da direita para a esquerda) para obter o número hexadecimal equivalente.Neste exemplo, o último quociente é 7 e os restos das divisões anteriores são 14 (representado por “E”) e 7. Colocando-os juntos em ordem inversa, obtemos:7E7
Portanto, o número decimal 2023 é igual ao número hexadecimal 7E7.
Exemplo de conversão hexadecimal para decimal:
Número hexadecimal: 4A3
(4 x 16²) + (10 x 16¹) + (3 x 16⁰) = 1024 + 160 + 3 = 1187
Número decimal: 1187
Exemplo de representação de cores usando o hexadecimal:
Cor: Azul marinho
Código hexadecimal: #000080
Vermelho: 00 (0 em decimal) Verde: 00 (0 em decimal) Azul: 80 (128 em decimal)
Caso ainda tenha alguma dificuldade e precise gerar os cálculos mais rapidamente, utilize nossa calculadora: https://growthcode.com.br/calculadora-de-conversao-de-bases-numerica
Conclusão
O sistema hexadecimal é uma ferramenta poderosa e versátil, especialmente no campo da computação e eletrônica. Compreender o sistema hexadecimal e saber como converter entre diferentes sistemas numéricos é essencial para trabalhar com tecnologia e programação. Ao dominar o hexadecimal, você estará melhor preparado para lidar com os desafios do mundo digital. Espero que você tenha gostado desta explicação e se gostou não deixa de compartilhar os seus amigos e postar em suas redes profissionais com Linkedin, que vai mostrar o quanto você tem se empenhado em se tornar um profissional cada vez mais brilhante.
Se você esta vendo este artigo, significa que você já sente que precisa chegar a um patamar mais elevado no mundo da programação, já está na hora de você se aprofundar em conceitos mais importantes como qualidade de código e padrões de projetos.
Escrevi o livro “Além do Código” para desenvolvedores que querem ser mais do que meros codificadores. É um guia completo que aborda todos esses tópicos avançados de forma prática e didática.
Se você está realmente comprometido em não ficar para trás, não perca tempo e adquira agora.
Confiança Sempre!!!!
Gostei
Ótimo! Continuei nos acompanhando
Olá colega,
Existem codificações diferentes para números hexadecimais? Pois estou tendo divergências quanto ao números.
Por exemplo: 244039664 decimal me retorna dois números hexadecimais diferentes, E8BBFF0 e também F09A8809.
Outro exemplo: 5355105014 decimal, retorna hexadecimais 96132FD1 e 13F306AF6.
Saberia dizer o que ocorre?
Opa! Bem vindo ao blog!
Os números hexadecimais podem ter representações de um mesmo número decimal em diferentes sistemas de endianness.
https://en.wikipedia.org/wiki/Endianness
Porém, normalmente, o número 244039664 é representado como E8BBFF0 em hex. Aquele outro valor desconheço.