进制转换
开始我想着很简单,就是取模,除,取模,除......
但是后来不对劲,16进制的还要输出字母该怎么实现?可以用char来转换
这时候就要分情况讨论,看那个余数和10的相对大小,还有就是要先递归再输出,因为进制转换时是倒着输出的,如果把递归的位置写错地方就会导致输出的内容正好相反
就会导致
所以这个该什么时候重复操作也要注意。
完整代码如下:
#include<iostream>
using namespace std;
void change(int n,int r)
{
if(n==0)
return;
change(n/r,r);
int x = n%r;
if(x<=9)
cout<<x;
else
cout<<char('A'+x-10);
}
int main()
{
int n,r;
cin>>n>>r;
change(n,r);
return 0;
}

