例子用的python2.7
16进制转换为10进制。
输入
0xaa
0XAB
返回
170
171
方法一,使用字典,自己写方法处理
#!/usr/bin/python
#-*- coding:utf-8 -*-
while True:
try:
number =raw_input().upper()
n = len(number)
dic = {'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}
total = 0
for i in range(2,n):
total +=dic[str(number[i])]*(16**(n-i-1))
print total
except:
break
方法二使用int函数进行转换
int('10') # 字符串转换成10进制整数
int('10',16) # 字符串转换成16进制整数,再转换成10进制整数
int('0x10',16) # 字符串转换成16进制整数,再转换成10进制整数
int('10',8) # 字符串转换成8进制整数,再转换成10进制整数
int('010',8) # 字符串转换成8进制整数,再转换成10进制整数
int('10',2) # 字符串转换成2进制整数,再转换成10进制整数
while True:
try:
print int(input(),16)
except:
break
将10进制转换为16进制
def NumToABC(n):
dic = {'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",'12':"D",'13':"E",'14':"F"}
return dic[str(n)]
##num是要转换的数通过键盘输入,Y是进制
def intToY(num,Y):
res = ""
while (num!=0):
res = str(NumToABC(num%Y))+res
num = num//Y
res.upper()
return res
instr = int(raw_input())
result = intToY(instr,16)
print result
print "0X"+result