c++中的进制转换论c++中的进制转换

1.由n进制str转换成a进制

#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int ai[105];
int main()
{
	string str;
	int i,j,n,a,len,sum = 0,cnt = 0;
	cin >> n >> str >> a;
	len = str.length();
	for(i = 0;i < len;i++){
		if(str[i] < 'A'){
			sum += (str[i]-48)*pow(n,len-1-i);
		}
		else{
			sum += (str[i]-'A'+10)*pow(n,len-1-i);
		}
	}
	while(sum){
		ai[++cnt] = sum % a;
		sum /= a;
	}
	for(i = cnt;i >= 1;i--){
		if(ai[i] >= 10){
			cout << char(ai[i]-10+'A');
		}
		else{
			cout << ai[i];
		}
	}
	return 0;
}