Crie um algoritmo que leia um número decimal (com qualquer número de dígitos) e o converta para a base hexadecimal. A resposta deve ser dada em string.

Passo 1

Beleza, vamos começar entendendo o que o exercício pede. Precisamos criar um algoritmo que leia um número na base decimal (aquele que usamos no dia a dia, com dígitos de 0 a 9) e o converta para a base hexadecimal (que usa os dígitos de 0 a 9 e as letras de A a F). A resposta final deve ser uma string, ou seja, uma sequência de caracteres representando o número em hexadecimal. Para resolver isso, vamos precisar entender como funciona a conversão entre bases numéricas e utilizar operações de divisão e módulo.

Passo 2

Primeiro, vamos lembrar o que é a base hexadecimal. A base hexadecimal é um sistema de numeração que usa 16 símbolos: os números de 0 a 9 e as letras de A a F, onde A representa 10, B representa 11, e assim por diante até F, que representa 15. Isso é útil em computação porque é uma forma compacta de representar números binários.

Passo 3

Para converter um número decimal para hexadecimal, vamos usar o método de divisão sucessiva. Esse método envolve dividir o número decimal por 16 repetidamente e registrar o resto de cada divisão. Esses restos, lidos de baixo para cima, formarão o número em hexadecimal.

Passo 4

Vamos detalhar o método de divisão sucessiva:
  1. Divida o número decimal por 16.
  2. Anote o quociente e o resto.
  3. O resto corresponde a um dígito hexadecimal.
  4. Use o quociente obtido para repetir o processo.
  5. Continue dividindo até que o quociente seja zero.
  6. Finalmente, junte todos os restos na ordem inversa para obter o número hexadecimal.

Passo 5

Agora, precisamos mapear os restos para os caracteres hexadecimais. Se o resto for de 0 a 9, ele permanece o mesmo. Se for de 10 a 15, precisamos convertê-lo para as letras correspondentes:
  • 10 → A
  • 11 → B
  • 12 → C
  • 13 → D
  • 14 → E
  • 15 → F

Passo 6

Vamos ilustrar com um exemplo. Suponha que queremos converter o número decimal 254 para hexadecimal:
  1. 254 ÷ 16 = 15 com resto 14 → 14 corresponde a ‘E’
  2. 15 ÷ 16 = 0 com resto 15 → 15 corresponde a ‘F’
  3. Como o quociente é 0, paramos aqui.
  4. Lemos os restos de baixo para cima: F e E, formando ‘FE’.
    Então, 254 em decimal é ‘FE’ em hexadecimal.

Passo 7

Agora, vamos traduzir isso para um algoritmo passo a passo:
  1. Receba o número decimal como entrada.
  2. Enquanto o número for maior que zero:
    • Divida o número por 16.
    • Armazene o resto da divisão.
    • Atualize o número com o quociente da divisão.
  3. Converta cada resto armazenado para seu equivalente hexadecimal.
  4. Una os caracteres resultantes na ordem inversa para formar a string hexadecimal.

Passo 8

Por fim, implementação em pseudocódigo para visualizar melhor:
função decimalParaHexadecimal(númeroDecimal):
    digitosHex = "0123456789ABCDEF"
    hexadecimal = ""
    se númeroDecimal == 0:
        retornar "0"
    enquanto númeroDecimal > 0:
        resto = númeroDecimal % 16
        hexadecimal = digitosHex[resto] + hexadecimal
        númeroDecimal = númeroDecimal // 16
    retornar hexadecimal

Resposta

O número decimal convertido para hexadecimal é representado como uma string seguindo o processo descrito acima.

Exercícios relacionados