十六进制转换成十进制(超简c++)
用字符数组保存十六进制,再将该十六进制按权展开即可上代码:#include<iostream>#include<cstring>#include<math.h>using namespace std;int main() {printf("请输入一个十六进制:\n");char shiliu[50]; cin >> shiliu;int len =
·
用字符数组保存十六进制,再将该十六进制按权展开即可
上代码:
#include<iostream>
#include<cstring>
#include<math.h>
using namespace std;
int main() {
printf("请输入一个十六进制:\n");
char shiliu[50]; cin >> shiliu;
int len = strlen(shiliu);
int sum = 0, k = 0;//sum是按权展开的值(即十进制),k是各位权的相关指数
for (int i = len-1; i >= 0; i--) {//从低位遍历
if (shiliu[i] >= '0' && shiliu[i] <= '9') sum += (shiliu[i] - '0') * pow(16, k++);//注意k++
else sum += (shiliu[i] - 'A' + 10) * pow(16, k++);
}
printf("这个数的十进制是:\n");
cout << sum;
return 0;
}
感谢阅读!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)