简介
用C++将一个十进制整数转换成任意进制数
转换逻辑
十进制转换成任意进制可用短除法除以对应进制,如图

为了考虑到后续的余数从下往上看余数,int会比较难搞,就用string结合to_string()来衔接字符串,把余数从后往前接。
就是ans=to_string(n%m)+ans;这个是小于10进制的,如果是10进制及以上就会出现余数为10或大于10就要用ABCDEF来替代。具体如下
#include<iostream>
using namespace std;
int main() {
int num,n;
cin>>num>>n;
string ans="";
if(num==0){
cout << 0 << endl;
return 0;
}
while(num!=0){
if(num%n<10){
ans=to_string(num%n)+ans;
num=num/n;
}
else{
ans=(char)(num%n-10+'A')+ans;
num=num/n;
}
}
cout << ans << endl;
return 0;
}