C语言编程 十六进制转化成十进制

2025-03-11 03:16:52
推荐回答(2个)
回答1:

#include
using namespace std;
int cf(int a,int b)//这是算乘方的函数,返回的结果为a的b次方
{
int x=1,i;
for (i=1;i<=b;i++)
x*=a;
return x;
}
int zhuanhuan(char a)
{
if (a-'0'>=0&&a-'0'<=9)
return a-'0';
else switch(a)
{
case 'A':return 10;
case 'B':return 11;
case 'C':return 12;
case 'D':return 13;
case 'E':return 14;
case 'F':return 15;
}
}
int main()
{
char a[100];//用字符数组存储这个数操作方便
int l,i,s=0,t;
scanf("%s",a);
l=strlen(a);//测量这个数的长度,即位数
for (i=0;i {
//把字符类型的变量转换成整数类型
t=zhuanhuan(a[i]);
s+=t*cf(16,l-i-1);//依次累加
}
printf("%d\n",s);
return 0;
}

回答2:

C语言_012_十六进制转十进制