Python/栈/十进制转二进制
1. 代码:divideBy2.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2023/7/14 22:03
# @Author : Sophia
# @File : divideBy2.py
# @Software: PyCharm
from Class.MyStack import MyStack
def divideBy2(num):
my_stack = MyStack()
while num > 0:
res = num % 2
my_stack.push(res)
# 除2取余
num = num // 2
binString = ''
while not my_stack.isEmpty():
binString = binString + str(my_stack.pop())
return binString
if __name__ == '__main__':
num = 233
print(divideBy2(num))
2. 结果
11101001
111
3. 注意点
应用的是模二取余的思想。
先得到的结果是二进制数的后面的位,最后出栈顺序颠倒,得到符合结果的二进制数。