只要稍微改动本程序,便可转化为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即可
本文介绍了一种使用C++编程语言将十六进制数转换为十进制数的方法。通过解析字符串中的每个字符,将其转换为对应的数值,并累加得到最终的十进制结果。此方法同样适用于将任意进制数转换为十进制。

被折叠的 条评论
为什么被折叠?



