Convert the following string of binary digits into a string of hexadecimal digits:
10101111101010111100101010110100110110101101
Passo 1
O enunciado pede para converter a seguinte sequência de dígitos binários em dígitos hexadecimais (peguei a sequência do enunciado):
.
Informações relevantes fornecidas:
- A sequência binária é exatamente a string acima.
- Não há indicação de letras maiúsculas/minúsculas para a resposta em hexadecimal; usarei maiúsculas para as letras hexadecimais.
- Não foi pedida nenhuma formatação especial além da conversão.
Passo 2
Conceito-chave que vamos usar (explicação didática):
- O sistema hexadecimal tem base
. Cada dígito hexadecimal representa um valor de a . - O sistema binário tem base
. Valores binários são somas de potências de . - Importante:
. Isso significa que cada dígito hexadecimal corresponde exatamente a um grupo de bits (um “nibble”). Por isso, a maneira mais prática de converter binário para hexadecimal é: - dividir a sequência binária em grupos de
bits (começando da direita; ou da esquerda se o total já for múltiplo de ), - converter cada grupo de
bits para o seu valor decimal entre e , - traduzir esse valor decimal para o dígito hexadecimal (valores
– viram – ).
- dividir a sequência binária em grupos de
- Se o número total de bits não for múltiplo de
, adiciona-se zeros à esquerda até completar um grupo de . Neste problema veremos se isso é necessário.
Passo 3
Contar quantos bits há e decidir sobre padding:
- A sequência tem
bits (contando os caracteres da string). - Como
é múltiplo de ( ), não é necessário adicionar zeros à esquerda. Podemos dividir em exatamente grupos de bits.
Passo 4
Agrupar a sequência em nibbles de
bits (faço a divisão da esquerda para a direita porque o total já é múltiplo de
). Os grupos são:
Passo 5
Como converter cada nibble para hexadecimal — explicando bem devagar (a técnica que serve para a prova):
- Para um nibble
em binário, o valor decimal é
- Depois de obter o decimal entre
e , usa-se a tabela: -
.
Agora converto cada nibble passo a passo, mostrando a soma das potências de:
-
-
: -
: -
: (mesmo que 1)) hex . -
: -
: -
: (como antes) hex . -
: (como no item 4) hex . -
: -
: -
: (como antes) hex . -
: (como no item 9) hex .
Passo 6
Resumo do mapeamento nibble → hexadecimal (cada linha corresponde a um dos grupos, na mesma ordem):