Programa de Python para convertir decimal a hexadecimal

En este artículo, aprenderemos cómo convertir un valor decimal (base 10) a un valor hexadecimal (base 16) en Python. 

Método 1: Usar la función hex()

La función hex() es una de las funciones integradas en Python3, que se utiliza para convertir un número entero en su forma hexadecimal correspondiente.

Sintaxis : hexadecimal (x) 

Parámetros : 

  • x – un número entero (objeto int)

Devoluciones :  Devuelve una string hexadecimal.

Errores y excepciones:

TypeError :  Devuelve TypeError cuando algo diferente a

             las constantes de tipo entero se pasan como parámetros.   

Código:

Python3

# Python3 program to illustrate
# hex() function
  
print("The hexadecimal form of 69 is "
      + hex(69))

Producción:

The hexadecimal form of 69 is 0x45

Método 2: enfoque iterativo

El método convencional para convertir decimal a hexadecimal es dividirlo por 16 hasta que sea igual a cero. La versión hexadecimal del número decimal dado es la secuencia de residuos del último al primero en forma hexadecimal. Para convertir los residuos a forma hexadecimal, use la siguiente tabla de conversión:

Resto Equivalente hexadecimal
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 mi
15 F

Código:

Python3

# Conversion table of remainders to
# hexadecimal equivalent
conversion_table = {0: '0', 1: '1', 2: '2', 3: '3', 4: '4',
                    5: '5', 6: '6', 7: '7',
                    8: '8', 9: '9', 10: 'A', 11: 'B', 12: 'C',
                    13: 'D', 14: 'E', 15: 'F'}
  
  
# function which converts decimal value
# to hexadecimal value
def decimalToHexadecimal(decimal):
    hexadecimal = ''
    while(decimal > 0):
        remainder = decimal % 16
        hexadecimal = conversion_table[remainder] + hexadecimal
        decimal = decimal // 16
  
    return hexadecimal
  
  
decimal_number = 69
print("The hexadecimal form of", decimal_number,
      "is", decimalToHexadecimal(decimal_number))

Producción:

The hexadecimal form of 69 is 45

Método 3: Enfoque recursivo

La idea es similar a la utilizada en el enfoque iterativo.

Código:

Python3

# Conversion table of remainders to
# hexadecimal equivalent
conversion_table = {0: '0', 1: '1', 2: '2', 3: '3',
                    4: '4', 5: '5', 6: '6', 7: '7',
                    8: '8', 9: '9', 10: 'A', 11: 'B',
                    12: 'C', 13: 'D', 14: 'E', 15: 'F'}
  
  
# function which converts decimal value
# to hexadecimal value
def decimalToHexadecimal(decimal):
    if(decimal <= 0):
        return ''
    remainder = decimal % 16
    return decimalToHexadecimal(decimal//16) + conversion_table[remainder]
  
  
decimal_number = 69
print("The hexadecimal form of", decimal_number,
      "is", decimalToHexadecimal(decimal_number))

Producción:

The hexadecimal form of 69 is 45

Publicación traducida automáticamente

Artículo escrito por chirags_30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *