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