在本文中,我们将学习如何在 Python 中将十进制值(以 10 为底)转换为十六进制值(以 16 为底)。
方法一:使用hex()函数
hex()函数是Python3中的内置函数之一,用于将整数转换为其对应的十六进制形式。
用法 :hex(x)
参数 :
- x- 一个整数(int 对象)
返回 :返回十六进制字符串。
Errors and Exceptions:
TypeError:其他任何情况下都返回 TypeError
整数类型常量作为参数传递。
代码:
Python3
# Python3 program to illustrate
# hex() function
print("The hexadecimal form of 69 is "
+ hex(69))
输出:
The hexadecimal form of 69 is 0x45
方法二:迭代法
将十进制转换为十六进制的常规方法是将其除以 16 直到等于 0。给定十进制数的十六进制版本是十六进制形式的从最后到第一个的余数序列。要将余数转换为十六进制形式,请使用以下转换表:余 十六进制等效 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
代码:
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))
输出:
The hexadecimal form of 69 is 45
方法3:递归方法
这个想法类似于迭代方法中使用的想法。
代码:
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))
输出:
The hexadecimal form of 69 is 45
相关用法
- Python Binary转Hexadecimal用法及代码示例
- Java Binary转Hexadecimal用法及代码示例
- Java Hexadecimal转Binary用法及代码示例
- Python Decimal转String用法及代码示例
注:本文由纯净天空筛选整理自chirags_30大神的英文原创作品 Python Program to Convert Decimal to Hexadecimal。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。