示例代码
void Conversion(int m, int n)
{
stack<int> S;
if (m >= 0 && n >= 2 && n <= 16) //判断输入的参数是否合法
{
while (m)
{
S.push(m % n);
m = m / n;
}
while (!S.empty())
{
int e = S.top();
S.pop();
if (e <= 9)
{
cout << e;
}
else //当超过9以后要使用A、B...表示
{
cout << (char)(e + 55);
}
}
cout << endl;
}
}
测试程序:
int main()
{
Conversion(8, 2);
Conversion(8, 8);
Conversion(32, 2);
Conversion(32, 8);
Conversion(32, 16);
system("pause");
return 0;
}
运行结果: