def convert(n,x):
list_a = ['0','1','2','3','4','5',
'6','7','8','9','s','b','c','d','e','f'] # 注意这里从0开始
list_b = []
a=''
while True:
s,y = divmod(n,x)
# divmod()函数返回一个包含商和余数的元组
list_b.append(y)
# 这里是保存余数
if s == 0:
break
n = s
list_b.reverse()
# 原地翻转,因为求得的是按0,1,2,..的次数求得,所以需要反过来
for i in list_b:
a+=list_a[i]
return(a)
def conver(n,x):
list_a = ['0','1','2','3','4','5',
'6','7','8','9','a','b','c','d','e','f']
list_b = []
a=len(n)-1
d=0
for i in n:
b=list_a.index(i)
c=b*(x**a)
d=d+c
a-=1
return(d)
n = input("请输入需要转换的数(n>=0)>>>")
x = int(input('输入原进制>>>'))
z = int(input("请输入希望转换的进制数>>>"))
en=convert(conver(n,x),z)
print(en)
2-16进制自由转换
最新推荐文章于 2023-04-20 16:44:18 发布