进制转换
开始我想着很简单,就是取模,除,取模,除......
但是后来不对劲,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; }