代码
#include <iostream>
#include <vector>
using namespace std;
string s = "0123456789ABCDEF";
string trans(int n, int r){
vector<int> v;
while(n){
int t = n%r;
v.push_back(t);
n = n/r;
}
string ans = "";
for(int i=v.size()-1; i>=0; i--){
ans += s.at(v.at(i));
}
return ans;
}
int main() {
int n, r;
while(cin>>n>>r){
if(n<0){
cout<<"-";
n = n * (-1);
}
string str = trans(n, r);
cout<<str<<endl;
}
return 0;
}
注解
1、进制转换代码(2-16进制)
2、负数的负号单独列出