思路:除以进制数余数为低位,然后商再进行除余做上一位
7%2=1 7/2=3 1
3%2=1 3/2=1 11
1%2=1 1/2=0 111
注意负数的处理
代码如下:
#include<iostream>
#include<string>
using namespace std;
int main(){
int m,n;
cin>>m>>n;
if(m<0){
m=-m;
cout<<"-";
}
string s="",table="0123456789ABCDEF";
while(m>0){
s=table[m%n]+s;
m/=n;
}
cout<<s<<endl;
}