只要稍微改动本程序,便可转化为K进制转十进制 问题
#include <iostream>
#include<string>
using namespace std;
int main(){
string s;
long long int num = 0;//注意不能用int或者long存储,否则会错误。用long long int保存数值
cin>>s;
for(int i=0;i<s.size();i++){//已求的前面的数num*16+每位对应的数字,全部加起来即是十进制的数,不用从尾部开始
if(s[i]>='0'&&s[i]<='9'){//要判断每位数是0-9还是A-F,转化位对应的数
num = num*16+(s[i]-'0');
}else if(s[i]>='A'&&s[i]<='F'){
num = num*16+(s[i]-'A'+10);
}
}
cout<<num<<endl;
return 0;
}
//这个程序可以将k进制数转化为10进制数 将上面程序中的数字16改为k即可