栈的应用:十进制转换为二进制
一、十进制&&二进制?
十进制:是用0~9这十个字符表示
二进制:是用0~1这两个字符表示
转换实例:
十进制数字233对应的二进制数字为11101001
十进制转换为二进制:将整数不断除以2,每次得到的余数就是由低到高的二进制位
eg:35
“除以2”的过程,得到的余数是从低到
高的次序,而输出则是从高到低,所以需
要一个栈来反转次序
二、程序:
def Zhuanhuan(num):
s = Stack()
while num > 0:
a = num % 2
s.push(a)
num = num // 2
mubiao = ""
while not s.isEmpty():
mubiao = mubiao + str(s.pop())
return mubiao
三,扩展:十进制转换为十六一下任何进制
解法,即将上一个程序中的2转换为想要转换的进制数
##学自陈斌老师