使用使用链栈实现通用数制转换程序:将任意一个十进制树转换成2、8、16进制的树
时间: 2024-05-08 10:15:31 浏览: 114
以下是使用链栈实现通用数制转换程序的Python代码:
```python
class Stack:
def __init__(self):
self.items = []
def is_empty(self):
return len(self.items) == 0
def push(self, item):
self.items.append(item)
def pop(self):
if not self.is_empty():
return self.items.pop()
else:
return None
def peek(self):
if not self.is_empty():
return self.items[-1]
else:
return None
def dec_to_base(dec_num, base):
stack = Stack()
while dec_num > 0:
rem = dec_num % base
stack.push(rem)
dec_num //= base
result = ""
while not stack.is_empty():
result += str(stack.pop())
return result
dec_num = int(input("Enter a decimal number: "))
print("Binary: ", dec_to_base(dec_num, 2))
print("Octal: ", dec_to_base(dec_num, 8))
print("Hexadecimal: ", dec_to_base(dec_num, 16))
```
运行程序后,输入一个十进制数,程序将输出该数的二进制、八进制和十六进制表示。例如,输入十进制数13,程序将输出:
```
Enter a decimal number: 13
Binary: 1101
Octal: 15
Hexadecimal: d
```
阅读全文