在Python中以十六进制格式输入数字

将十六进制值转换为整数(十进制格式)的语法,

    int(hex_value, 16)

这里,

  • hex_value应该包含有效的十六进制值

  • 16是十六进制数系统的基值

注意hex_value必须仅包含十六进制数字(0、1、2、3、4、5、6、7、8、9,A / a,B / b,C / c,D / d,E / e,F / F),如果其中不包含这些数字,则将返回“ ValueError”

程序将给定的十六进制值转换为整数(十进制)

# 转换给定十六进制值的函数
# 到整数(十进制数)
def HexToDec(value):
  try:
    return int(value, 16)
  except ValueError:
    return "Invalid Hexadecimal Value"

# 主要代号
input1 = "1235A"
input2 = "6ABF"
input3 = "6AG09"

print(input1, "as decimal: ", HexToDec(input1))
print(input2, "as decimal: ", HexToDec(input2))
print(input3, "as decimal: ", HexToDec(input3))

输出结果

1235A as decimal:  74586
6ABF as decimal:  27327
6AG09 as decimal:  Invalid Hexadecimal Value

现在,我们将实现该程序–该程序将输入数字作为十六进制数字并以十进制格式打印。

程序以十六进制格式输入数字

# 以十六进制格式输入数字,并且 
# 将其转换为十进制格式

try:
  num = int(input("Input hexadecimal value: "), 16)
  print("num (decimal format):", num)
  print("num (hexadecimal format):", hex(num))  
except ValueError:
  print("Please input only hexadecimal value...")

输出结果

RUN 1:
Input hexadecimal value: 123
num (decimal format): 291
num (hexadecimal format): 0x123

RUN 2:
Input hexadecimal value: 6ABF12
num (decimal format): 6995730
num (hexadecimal format): 0x6abf12

RUN 3:
Input hexadecimal value: 1234ABCFDEF
num (decimal format): 1251089382895
num (hexadecimal format): 0x1234abcfdef

RUN 4:
Input hexadecimal value: 65afcd
num (decimal format): 6664141
num (hexadecimal format): 0x65afcd

RUN 5:
Input hexadecimal value: 123AFG
Please input only hexadecimal value...

初步格式