帮我写一个完整的代码关于数据结构中用栈完成十进制789到二进制的转换
时间: 2024-09-26 18:14:24 浏览: 27
易语言十进制浮点数转换到二进制
当然可以,这里是一个简单的Python代码示例,它使用栈(stack)来将十进制数789转换成二进制:
```python
def decimal_to_binary(n):
# 创建一个空栈
stack = []
# 定义二进制字符集
binary_chars = "01"
while n > 0:
# 取模运算得到当前位的值
digit = n % 2
stack.append(binary_chars[digit])
# 整数除以2并向下取整
n //= 2
# 如果栈为空,说明输入的是0,特殊处理
if not stack:
stack.append('0')
# 从栈顶开始拼接二进制字符串
binary_num = "".join(stack[::-1])
return binary_num
decimal = 789
binary_result = decimal_to_binary(decimal)
print(f"十进制数 {decimal} 转换成二进制为: {binary_result}")
阅读全文