问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
思路:16进制就是逢16进1,16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
我这里采用的是字典的方法,键与值一一对应。
n = input()
str_dict = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'A':10,'B':11,'C':12,'D':13,'E':14,'F':15}
s = 0
for i in range(len(n)):
s += str_dict[n[i]]*16**(len(n) - i - 1)
print(s)
本文介绍了一种使用字典映射方法将十六进制数转换为十进制数的算法实现。通过实例演示了如何输入一个不超过8位的十六进制数,并将其转换为对应的十进制数值。
330





