秦九韶算法--任意进制转换10进制的简短code方式
rt 实现任意 b 进制转换 10 进制
注意:b<=10
//秦九邵算法
//b 进制转10 进制
int get(string s,int b){
int res=0;
for(auto c:s){
res=res*b+c-'0';
}
return res;
}
更新:
1-35任意进制 转换为10进制
int get(string s,int b){
int res=0;
for(auto c:s){
if(c>='a' && c-'a'+10>=b){ //检验值和进制是否合法,不能存在大于进制的字符,
return -1;
}
if(c<'a'){
res=res*b+c-'0';
}else{
res=res*b+c-'a'+10;
}
}
return res;
}