python实现进制转换

我们需要利用十进制作为桥梁,假设一个数是m进制,需要将其转化为n进制,则需要先将m进制转换为十进制,再从十进制转化为n进制

int_to_char="0123456789ABCDEF"
char_to_int={}
#初始化char_to_int字典
for idx,char in enumerate(int_to_char):
    char_to_int[char]=idx

def k_to_ten(k:int,x:str):
    #对应位置的数字乘上对应的k次方再相加
    ans = 0
    for i in x:
        ans+=ans*(k-1)+char_to_int[i]
    return ans

def ten_to_k(k:int,x:int):
    #短除法
    ans=""
    while x!=0:
        ans+=int_to_char[x%k]
        x//=k
    return ans[::-1]

def M_to_N(m,n,x):
    y=k_to_ten(m,str(x))
    z=ten_to_k(n,y)
    return z

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值