进制转换

其他进制转换为十进制

Code 01

int conver(int n, int radix) { //radix为n的进制数
	string s = to_string(n);
	int sum = 0;
	for(int i=0; i<s.length(); i++) {
		int num = isdigit(s[i])?s[i]-'0':s[i]-'a'+10;
		sum += num*pow(radix,s.length()-1-i);
	}
	return sum;
}

Code 02

int conver(int n, int radix){ //radix为n的进制数
	int y=0,product=1;
	while(n!=0){
		y=y+(n%10)*product;
		n=n/10;
		product=product*radix;
	}
	return y;
}

十进制转换为其他进制

Code 01

int conver(int n, int radix) { //radix为n要转换的进制
	char res[111],num=0;
	do {
		res[num++] = n%radix+'0';
		n/=radix;
	} while(n!=0);
//	反转方法一: 
//	string ress = res;
//	reverse(ress.begin(),ress.end());
//	反转方法二: 
	strrev(res);
	return stoi(res);
}
原文地址:https://www.cnblogs.com/houzm/p/12266243.html