Faça dois programas que convertam um número decimal inteiro para hexadecimal sem usar a função hex. Faça

uma implementação iterativa e outra recursiva. (Pyton)

1 Resposta

  • Gustastrada

    Implementação recursiva:

    Neste algoritmo, a condição básica da função recursiva é n <= 0. Para qualquer número decimal positivo, as chamadas recursivas param quando o restante chega a zero.

    Após o processo recursivo, a forma hexadecimal do restante é concatenada do último para o primeiro modo e é retornada à instrução de chamada.

    ❑ Veja o código:

    valores = list('0123456789ABCDEF')

     

    def dec_hex(n):

       if n <= 0:

         return ''

       rem = n % 16

       return  dec_hex(n // 16) + valores[rem]

    decimal = int(input("Digite um número decimal inteiro: "))

    print('DEC: ', decimal)

    print('HEX: ',dec_hex(decimal))

    Versão iterativa:

    Neste programa, dentro do loop while, dividimos o número decimal até que ele se reduza a zero e simultaneamente concatenamos a forma hexadecimal do restante para a string hexadecimal usando a lista "valores".

    ❑ Código Iterativo:

    valores = list('0123456789ABCDEF')

    decimal = int(input("Digite um número inteiro positivo: "))

    hexadecimal = ''

    print('DEC: ', decimal)    

    while decimal > 0:

     rem = decimal % 16

     hexadecimal = valores[rem] + hexadecimal

     decimal = decimal // 16

    print('HEX: ', hexadecimal)

    ❑ Saiba mais sobre as principais diferenças entre recursividade e iteratividade com outras respostas minhas:


    Faça dois programas que convertam um número decimal inteiro para hexadecimal sem usar a função hex.
    Faça dois programas que convertam um número decimal inteiro para hexadecimal sem usar a função hex.

Clique aqui para adicionar a sua resposta.