'把m进制的数x转换为n进制的数,输出,进制范围是1~16,10以上用ABCD等'
m = 12
n = 13
x = 'AA'
# m转换为10进制
m10 = 0
for nu,i in enumerate(list(str(x))[::-1]):
m10 += int(i,16)*m**nu
print(m10)
# 10进制转换为n进制
c1,y1 = divmod(int(m10),n)
end = str(hex(y1))[2:].upper()
while c1 > 0:
c1,y1 = divmod(c1,n)
#print(c1,y1)
end = str(hex(y1))[2:].upper()+end
print(end)
题目:把m进制的数转换为n进制的数,进制限制在16进制以内。
思路:先转化为10进制,然后再转化为规定进制。