首页 > 试题广场 >

进制转换

[编程题]进制转换
  • 热度指数:20027 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串(注意可能存在的一个测试用例里的多组数据)。


输入描述:

输入一个十六进制的数值字符串。



输出描述:

输出该数值的十进制字符串。

示例1

输入

0xA

输出

10
def data(inp):
    lenth=len(inp)
    sum1=0
    for i in range(lenth):
        if inp[i].isupper():
            num=list1.index(inp[i].lower())
            sum1+=num*16**(lenth-1-i)
        elif inp[i].islower():
            num=list1.index(inp[i])
            sum1+=num*16**(lenth-1-i)
        else:
            num=list1.index(inp[i])
            sum1+=num*16**(lenth-1-i)
    return sum1

while True:
    try:
        inp=input().strip().lstrip('0x')
        list1=['0','1','2','3','4','5','6',
               '7','8','9','a','b','c','d','e','f']
        print(data(inp))
    except:
        break
发表于 2019-08-28 10:23:48 回复(0)
while True:
    try:
        print(int(input(),16))
    except:
        break
发表于 2017-09-12 15:31:58 回复(0)
try:
    while 1:
        print int(raw_input(), 16)
except:
    pass

发表于 2016-12-25 19:05:05 回复(0)