Arquitetura de Computadores · material complementar
Síntese
A base hexadecimal compacta a leitura de dados binários porque cada dígito representa exatamente 4 bits.
Alguns dados armazenados e processados computacionalmente se configuram representações binárias de informações descritas por números inteiros em valor absoluto representados em base decimal. Descrevem medidas em que o conjunto dos números inteiros são aplicáveis para medir um fenômeno. Por exemplo, a representação da idade das pessoas, a quantidade de objetos existentes em um recipiente, o número do endereço de um imóvel em uma avenida, entre outros.
Entender a conversão na representação desse tipo de informação de um sistema numérico para outro é importante para definir as características de um sistema computacional, composto por circuitos digitais.
Nesse sentido, a importância do sistema de base binária (base 2) é óbvia. No entanto, a representação em base hexadecimal (base 16) é especialmente útil também para se discutir.
A representação hexadecimal é amplamente utilizada em sistemas digitais por uma questão de conveniência e eficiência na leitura e manipulação de dados binários. Como os computadores operam em base 2, grandes sequências de bits tornam-se difíceis de visualizar e interpretar diretamente. O sistema hexadecimal (base 16) resolve esse problema porque cada dígito hexadecimal corresponde exatamente a 4 bits (um nibble). Assim, um byte (8 bits) pode ser representado por apenas dois dígitos hexadecimais, tornando a escrita muito mais compacta e reduzindo a probabilidade de erro na leitura.
Além disso, a representação hexadecimal facilita a análise de endereços de memória, registradores, códigos de máquina e máscaras binárias, pois mantém uma correspondência direta com a estrutura interna dos dados digitais. Diferentemente do sistema decimal, que não possui alinhamento natural com potências de 2, o hexadecimal preserva a lógica binária do hardware ao mesmo tempo em que oferece uma forma mais legível para humanos, sendo por isso amplamente adotado em arquitetura de computadores, programação de baixo nível e eletrônica digital.
| Base | Conjunto ordenado de dígitos |
|---|---|
| 2 | B2 = {0, 1} |
| 16 | B16 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} |
As grandezas numéricas possuem representações equivalentes entre os diferentes sistemas de numeração. A tabela apresenta a equivalência dos dígitos numéricos dos sistemas de base 2 (binária), 10 (decimal) e 16 (hexadecimal).
| Base 2 | Base 10 | Base 16 | Base 2 | Base 10 | Base 16 |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 1000 | 8 | 8 |
| 1 | 1 | 1 | 1001 | 9 | 9 |
| 10 | 2 | 2 | 1010 | 10 | A |
| 11 | 3 | 3 | 1011 | 11 | B |
| 100 | 4 | 4 | 1100 | 12 | C |
| 101 | 5 | 5 | 1101 | 13 | D |
| 110 | 6 | 6 | 1110 | 14 | E |
| 111 | 7 | 7 | 1111 | 15 | F |
Para obter o número representado em base 10 (N10) no seu equivalente em base 2 (N2) ou em base 16 (N16), aplica-se o seguinte método:
Na conversão da base 10 para a base 2 pode-se também utilizar o comportamento da notação polinomial.
A tabela mostra um exemplo para 23510 convertido à base 2.
| 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 |
Para obter o número representado em base 2 (N2) ou base 16 (Nh) no seu equivalente em base 10 (N10), aplica-se o seguinte método:
Para obter o número representado em base 2 (N2) no seu equivalente em base 16 (N10), aplica-se o seguinte método:
As grandezas numéricas utilizadas pelos computadores podem ser representadas em qualquer sistema de numeração. Para não haver ambiguidade de interpretação, utilizaremos a seguinte notação: