python编程实现一个十进制数转换为二进制数使用栈
时间: 2024-06-06 19:11:19 浏览: 90
# 定义栈类
class Stack:
def __init__(self):
self.items = []
# 判断栈是否为空
def is_empty(self):
return self.items == []
# 入栈
def push(self, item):
self.items.append(item)
# 出栈
def pop(self):
return self.items.pop()
# 栈顶元素
def peek(self):
return self.items[-1]
# 栈大小
def size(self):
return len(self.items)
# 十进制数转换为二进制数
def decimal_to_binary(decimal):
stack = Stack() # 定义一个栈
while decimal > 0:
remainder = decimal % 2 # 求余数
stack.push(remainder) # 将余数入栈
decimal //= 2 # 整除2,更新十进制数
binary = "" # 定义一个空字符串用于存储二进制数
while not stack.is_empty():
binary += str(stack.pop()) # 将栈中元素出栈并转换成字符串
return binary
# 测试
print(decimal_to_binary(10)) # 1010
print(decimal_to_binary(15)) # 1111
print(decimal_to_binary(100)) # 1100100
阅读全文