python中怎样设计程序将一个十进制数转化为任意进制(2-16进制)的数?并输出(带有A,B,C,D,E,F之类的

 我来答
帐号已注销
2020-03-23 · 超过11用户采纳过TA的回答
知道答主
回答量:28
采纳率:83%
帮助的人:9.6万
展开全部

根据一般方法,N进制转10进制使用位权展开法,10进制转N进制使用求余数法。

就是不断用待转换数除以N然后求余数,最后把所有余数倒着放一起。

例子:

将24转换为2进制:

原数 进制 余数


24  % 2 -> 0

12  % 2 -> 0

6    % 2 -> 0

3    % 2 -> 1

1    % 2 -> 1

从下往上看:(11000)2,就是24的二进制

所以……上代码。


letters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'  # 从0~10~Z的字母表,最高支持36进制

num = 82493216  # 要转换的数

sy = 13  # 要转换到的进制

li = []  # 用来保存求余数后的值

while num/sy>0:  # 如果num/sy大于0,即还没有转换完

    li.append(num%sy)  # 存储一个余数

    num //= sy  # 除掉

li.reverse()  # 倒转

for x in li:

    print(letters[x], end="")  # 输出对应的字母,不换行

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式