利用栈(以顺序栈作存储结构)实现进制转换。给定一个十进制整数,编程将该数以八进制形式输出。
时间: 2023-10-29 10:12:00 浏览: 158
以下是利用顺序栈实现十进制到八进制转换的示例代码:
```python
class Stack:
def __init__(self):
self.items = []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def is_empty(self):
return len(self.items) == 0
def decimal_to_octal(decimal_num):
s = Stack()
# 将十进制数不断除以8,将余数压入栈中
while decimal_num > 0:
remainder = decimal_num % 8
s.push(remainder)
decimal_num //= 8
# 依次弹出栈中的余数,得到转换后的八进制数
octal_num = ""
while not s.is_empty():
octal_num += str(s.pop())
return octal_num
```
可以通过如下代码测试:
```python
num = 12345
octal = decimal_to_octal(num)
print(f"{num} in decimal is {octal} in octal.")
```
输出结果为:
```
12345 in decimal is 30071 in octal.
```
阅读全文