进制转换
- 将十进制转换成其他进制
- 进制转换原理:计算机基础进制转换(二进制、八进制、十进制、十六进制)
- 算法原理:利用栈后进先出的特点,将每次的余数作为字符串放入栈中,除完后再依次出栈相连
- 难度:★★
- 易错点:转换成十六进制时大于10的部分要特殊处理
- 代码示例:
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))
- 运行结果
请输入一个十进制数字:9999
请输入要转换成的进制数(包括2、8、16):16
270F
Original: https://blog.csdn.net/weixin_57345774/article/details/127822637
Author: 丸丸丸子w
Title: 用栈实现进制转换(Python)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/658584/
转载文章受原作者版权保护。转载请注明原作者出处!