当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Decimal转Hexadecimal用法及代码示例


在本文中,我们将学习如何在 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。给定十进制数的十六进制版本是十六进制形式的从最后到第一个的余数序列。要将余数转换为十六进制形式,请使用以下转换表:

十六进制等效
00
11
22
33
44
55
66
77
88
99
10A
11B
12C
13D
14E
15F

代码:

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

相关用法


注:本文由纯净天空筛选整理自chirags_30大神的英文原创作品 Python Program to Convert Decimal to Hexadecimal。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。