A única desvantagem principal dos números binários é que a string binária equivalente a um grande número decimal de base – 10 pode ser bastante longa.
Quando se trabalha com grandes sistemas digitais, como computadores, é comum encontrar números binários compostos por 8, 16 e até 32 dígitos, o que torna difícil ler ou escrever sem produzir erros, especialmente quando se trabalha com muitos números binários de 16 ou 32 bits.
Uma maneira comum de superar este problema é organizar os números binários em grupos ou conjuntos de quatro bits (4-bits). Esses grupos de 4 bits usam outro tipo de sistema de numeração também comumente usado em computadores e sistemas digitais chamado Hexadecimal Numbers.
Hexadecimal Number String
O sistema de numeração “Hexadecimal” ou simplesmente “Hex” usa a Base do sistema 16 e é uma escolha popular para representar valores binários longos porque seu formato é bastante compacto e muito mais fácil de entender em comparação com as strings binárias longas de 1 e 0.
Sendo um sistema Base-16, o sistema de numeração hexadecimal usa portanto 16 (dezesseis) dígitos diferentes com uma combinação de números de 0 a 15. Em outras palavras, existem 16 símbolos de dígitos possíveis.
No entanto, existe um problema potencial com o uso deste método de notação de dígitos causado pelo fato de que os números decimais de 10, 11, 12, 13, 14 e 15 são normalmente escritos usando dois símbolos adjacentes. Por exemplo, se escrevermos 10 em hexadecimal, queremos dizer o número decimal dez, ou o número binário de dois (1 + 0). Para contornar este problema complicado números hexadecimais que identificam os valores de dez, onze, . . . . quinze são substituídos por letras maiúsculas de A, B, C, D, E e F respectivamente.
Então no Sistema de Numeração Hexadecimal usamos os números de 0 a 9 e as letras maiúsculas de A a F para representar o seu equivalente em número Binário ou Decimal, começando com o dígito menos significativo do lado direito.
Como acabamos de dizer, as cadeias binárias podem ser bastante longas e difíceis de ler, mas podemos facilitar a vida dividindo esses números binários grandes em grupos pares para torná-los muito mais fáceis de anotar e entender. Por exemplo, o seguinte grupo de dígitos binários 1101 0101 1100 11112 é muito mais fácil de ler e entender do que o 1101010111001111112 quando todos eles estão agrupados.
No uso diário do sistema de numeração decimal usamos grupos de três dígitos ou 000 do lado direito para fazer um número muito grande como um milhão ou trilhão, mais fácil de entender e o mesmo também é verdade em sistemas digitais.
Hexadecimal Numbers é um sistema mais complexo do que usar apenas binário ou decimal e é usado principalmente quando se lida com computadores e localizações de endereços de memória. Dividindo um número binário em grupos de 4 bits, cada grupo ou conjunto de 4 dígitos pode agora ter um valor possível entre “0000” (0) e “1111” ( 8+4+2+1 = 15 ) dando um total de 16 combinações diferentes de números de 0 a 15. Não se esqueça que “0” também é um dígito válido.
Lembramos do nosso primeiro tutorial sobre Números Binários que um grupo de 4 bits de dígitos é chamado de “nibble” e como 4 bits também são necessários para produzir um número hexadecimal, um dígito hexadecimal também pode ser pensado como um nibble, ou meio-um-byte. Então dois números hexadecimais são requeridos para produzir um byte completo variando de 00 a FF.
Também, como 16 no sistema decimal é a quarta potência de 2 ( ou 24 ), há uma relação direta entre os números 2 e 16, então um dígito hexadecimal tem um valor igual a quatro dígitos binários, então agora q é igual a “16”.
Por causa dessa relação, quatro dígitos em um número binário podem ser representados com um único dígito hexadecimal. Isto torna a conversão entre números binários e hexadecimais muito fácil, e hexadecimais podem ser usados para escrever números binários grandes com muito menos dígitos.
Os números de 0 a 9 ainda são usados como no sistema decimal original, mas os números de 10 a 15 são agora representados por letras maiúsculas do alfabeto de A a F inclusive e a relação entre decimal, binário e hexadecimal é dada abaixo.
Números hexadecimais
Número decimal | 4-bit Número Binário | Número Hexadecimal |
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 111111 | F |
16 | 0001 0000 | 10 (1+0) |
17 | 0001 0001 | 11 (1+1) |
Continuando para cima em grupos de quatro |
Usando o número binário original de cima 1101 0101 1100 11112 isto agora pode ser convertido num número hexadecimal equivalente de D5CF que é muito mais fácil de ler e entender do que uma longa fila de 1 e 0 que tínhamos antes.
Então, usando a notação hexadecimal, os números digitais podem ser escritos usando menos dígitos e com uma probabilidade muito menor de ocorrência de um erro. Da mesma forma, converter números baseados em hexadecimal de volta para binário é simplesmente a operação inversa.
Então as principais características de um Sistema de Numeração Hexadecimal é que existem 16 dígitos de contagem distintos de 0 a F com cada dígito tendo um peso ou valor de 16 a partir do bit menos significativo (LSB). A fim de distinguir os números Hexadecimais dos números Denary, um prefixo de um “#”, (Hash) ou um “$” (sinal de dólar) é usado antes do valor real do Número Hexadecimal, #D5CF ou $D5CF.
Como a base de um sistema hexadecimal é 16, que também representa o número de símbolos individuais usados no sistema, o subscrito 16 é usado para identificar um número expresso em hexadecimal. Por exemplo, o número hexadecimal anterior é expresso como: D5CF16
Contagem usando números hexadecimais
Então agora sabemos como converter 4 dígitos binários em um número hexadecimal. Mas e se tivéssemos mais de 4 dígitos binários, como contaríamos em hexadecimal além da letra final F. A resposta simples é começar de novo com outro conjunto de 4 bits como se segue.
0…a…9, A,B,C,D,E,F, 10…a…19, 1A, 1B, 1C, 1D, 1E, 1F, 20, 21….etc
Não se confunda, 10 ou 20 NÃO é dez ou vinte é 1 + 0 e 2 + 0 em hexadecimal. Na verdade, vinte nem sequer existe em hexadecimal. Com dois números hexadecimais podemos contar até FF que é igual a 255 decimais. Da mesma forma, para contar acima de FF adicionaríamos um terceiro dígito hexadecimal à esquerda para que o primeiro número hexadecimal de 3 bits fosse 10016, (25610) e o último seria FFF16, (409510). O número hexadecimal máximo de 4 dígitos hexadecimais é FFFF16, que é igual a 65.535 em decimal e assim por diante.
Representação de um número hexadecimal
MSB | Número hexadecimal | LSB | ||||||
168 | 167 | 166 | 165 | 164 | 163 | 162 | 161 | 160 |
4.3G | 2.6G | 16M | 1M | 65k | 4k | 256 | 16 | 1 |
Esta adição de dígitos hexadecimais adicionais para converter ambos os números decimais e binários em um número hexadecimal é muito fácil se houver 4, 8, 12 ou 16 dígitos binários para converter. Mas também podemos adicionar zero à esquerda do bit mais significativo, a MSB se o número de bits binários não for um múltiplo de quatro.
Por exemplo, 110010110110012 é um número binário de catorze bits que é para grande para apenas três dígitos hexadecimais, mas muito pequeno para um número hexadecimal de quatro dígitos. A resposta é ADD zero adicionais para o bit mais à esquerda até termos um conjunto completo de número binário de quatro bits ou múltiplos dele.
Adicionamento de 0’s adicionais a um número binário
Número binário | 0011 | 0010 | 1101 | 1001 |
Hexadecimal Number | 3 | 2 | D | 9 |
A principal vantagem de um Número Hexadecimal é que ele é muito compacto e ao usar uma base de 16 significa que o número de dígitos usados para representar um determinado número é geralmente menor do que em binário ou decimal. Além disso, é rápido e fácil de converter entre números hexadecimais e binários.
Números hexadecimais Exemplo No1
Converta o seguinte número binário 1110 10102 no seu equivalente em número hexadecimal.
Número Binário = 111010102 | |||
Agrupar os bits em quatro a partir do lado direito | |||
= | 1110 | 1010 | |
Encontrar o equivalente decimal de cada grupo individual | |||
= | 14 | 10 | (em decimal) |
Converter para Hexadecimal usando a tabela acima | |||
= | E | A | (em Hex) |
Então, o equivalente hexadecimal do número binário
1110 10102 é #EA16 |
Números hexadecimais Exemplo No2
Converta o seguinte número hexadecimal #3FA716 no seu equivalente binário, e também no seu equivalente Decimal ou Denary usando subscripts para identificar cada sistema de numeração.
#3FA716
= 0011 1111 1010 01112
= (8192 + 4096 + 2048 + 1024 + 512 + 256 + 128 + 32 + 4 + 2 + 1)
= 16.29510
> Então, o número Decimal de 16.295 pode ser representado como:-2712>
#3FA716 em Hexadecimal
ou
0011 1111 1010 01112 em Binário.
Números hexadecimais Resumo
Em seguida, para resumir. O sistema de numeração hexadecimal, ou Hexadecimal, é comumente usado em computadores e sistemas digitais para reduzir grandes cadeias de números binários em um conjunto de quatro dígitos para que possamos entender facilmente. A palavra “Hexadecimal” significa dezasseis porque este tipo de sistema de numeração digital usa 16 dígitos diferentes de 0 a 9, e A a F.
Hexadecimal Numbers agrupa os números binários em conjuntos de quatro dígitos. Para converter uma seqüência binária em um número hexadecimal equivalente, devemos primeiro agrupar os dígitos binários em um conjunto de 4 bits. Estes conjuntos binários podem ter qualquer valor de 010 ( 00002 ) a 1510 ( 11112 ) representando o equivalente hexadecimal de 0 até F.
No próximo tutorial sobre Lógica Binária vamos ver a conversão de cadeias inteiras de números binários em outro sistema de numeração digital chamado Octal Numbers e vice-versa.