欢迎光临散文网 会员登陆 & 注册

Python编程算法【八】 数制转换

2022-09-04 21:03 作者:SPC编程爱好者  | 我要投稿

【案例内容】

给定一个十进制的数x,实现对x向任意一个非十进制的数的转换


【解题思路】

所谓十进制数,简单来讲,就是我们平时在电脑里输入的正整数,都是十进制数,比如1,28,197,2018,63974209......都是十进制数。本题的意思是,假设有一个十进制数,比如189,要把它转换成非十进制数,可以是二进制、三进制或七进制、九进制等。针对此题,最常见的算法,就是用短除法——将十进制数,比如189,不断去除以进制,比如我要转成二进制,就不断除以2,直到商小于2,再把最后的商和之前除得的余数倒叙输出即可。
我们可以先设置一个列表,把每次除得的余数和最后的一个商存储下来,最后逆序输出。
本题适合用递归函数来解答。


【Python代码】

189的二进制是10111101

截图中函数radix,也可以用来求解其他进制,比如189的五进制是1224,七进制是360等,读者朋友们可自行尝试,或者是再转成十进制也是可以的,就是它本身189.

Python编程算法【八】 数制转换的评论 (共 条)

分享到微博请遵守国家法律