前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用栈实现进制转换

用栈实现进制转换

作者头像
算法与编程之美
发布2024-02-28 13:51:51
860
发布2024-02-28 13:51:51
举报

1 问题

在数据结构的学习中,栈是一个重要的部分,我们已经大致学习了栈的相关方法,那么我们是否可以利用学习的方法用栈来为我们完成一些功能,例如计算机中常见的进制转换。

2 方法

(1)先创建函数,num为传入的数字,scale为要转换的进制

(2)创建栈,利用出入栈完成进制转换

代码清单 1

代码语言:text
复制
def ten_change(num, scale):  
   zhan = list()  
   changeNum = ''  
   digits = "0123456789ABCDEF"
   while num > 0:    
       zhan.append(str(num % scale))
       num = num // scale
   while zhan != []:
       changeNum += digits[int(zhan.pop())]  
   return changeNum
if __name__ == '__main__':
   num = int(input("请输入一个十进制数字:"))
   scale = int(input("请输入要转换成的进制数(包括2、8、16):"))
   print(ten_change(num, scale))

3 结语

栈作为数据结构学习过程中的一大模块,使用范围广泛,方法灵活多变,这次对栈的利用只是冰山一角,后续还应该结合前后的知识,利用栈实现更多的功能,为我们代码的编写带来更多帮助。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档