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

如题所述

#include<iostream>
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<l;i++)
{
//把字符类型的变量转换成整数类型
t=zhuanhuan(a[i]);
s+=t*cf(16,l-i-1);//依次累加
}
printf("%d\n",s);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-26

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

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网