数据结构已知栈的基本操作如下: 请设计一个函数conversion,用来把十进制正整数转化为八进制数并输出。
时间: 2024-12-15 07:15:00 浏览: 7
数据结构-栈十进制转八进制的算法详解(已测试过).doc
5星 · 资源好评率100%
在计算机科学中,将十进制正整数转换为八进制通常涉及到除法和取余的过程,这是通过模拟手动计算八进制的过程来实现的。我们可以创建一个名为`conversion`的函数,采用循环或者递归的方式来完成这个任务。这里是一个简单的Python实现:
```python
def conversion(decimal_num):
if decimal_num == 0:
return '0'
result = ''
while decimal_num > 0:
remainder = decimal_num % 8 # 取余数得到当前位的值
result = str(remainder) + result # 将余数添加到结果前面
decimal_num //= 8 # 除以8,然后向下取整
return result
# 示例
decimal_input = 1234
octal_output = conversion(decimal_input)
print(f"十进制数 {decimal_input} 转换为八进制为: {octal_output}")
```
在这个函数里,我们不断从十进制数中取出最低有效位(即8的幂次),直到十进制数变为0。每次取余后,我们将余数添加到结果字符串的开头。因为八进制数是从右向左计数的,所以我们要保证最后的数字在最左边。
阅读全文