实现代码:
/*************************************************************************
> File Name: stackSysConvert.cpp
> Author: 念念
> Mail: 2845906049@qq.com
> Created Time: 2021年08月21日 星期六 8时28分21秒
> Function: 使用栈实现进制转换
************************************************************************/
#include <iostream>
#include <stack>
using namespace std;
int main()
{
stack<int> s;
int num,n;
cout << "输入要转换的进制:";
cin >> n;
cout << "输入一个十进制数:";
cin >> num;
cout << num << "的" << n << "进制表示是:" ;
while(num) //压栈
{
s.push(num%n);
num /= n;
}
while(s.size()) //出栈
{
cout << s.top();
s.pop();
}
cout << endl;
return 0;
}
运行结果:
输入要转换的进制:8
输入一个十进制数:17
0的8进制表示是:21