利用栈逻辑将十进制转换为二进制和八进制
时间: 2023-11-20 18:04:59 浏览: 143
十进制转换为二进制:
1. 将十进制数除以2,得到商和余数。
2. 将余数压入栈中。
3. 如果商为0,则停止计算。
4. 否则,将商作为新的十进制数,继续执行步骤1。
最后,将栈中的余数依次出栈,即可得到二进制数。
示例代码:
```python
def decimal_to_binary(decimal):
stack = []
while decimal > 0:
remainder = decimal % 2
stack.append(remainder)
decimal //= 2
binary = ''
while stack:
binary += str(stack.pop())
return binary
```
十进制转换为八进制:
1. 将十进制数除以8,得到商和余数。
2. 将余数压入栈中。
3. 如果商为0,则停止计算。
4. 否则,将商作为新的十进制数,继续执行步骤1。
最后,将栈中的余数依次出栈,即可得到八进制数。
示例代码:
```python
def decimal_to_octal(decimal):
stack = []
while decimal > 0:
remainder = decimal % 8
stack.append(remainder)
decimal //= 8
octal = ''
while stack:
octal += str(stack.pop())
return octal
```
阅读全文