c语言 十六进制和十进制间的转换 程序源代码
1.将十六进制转换为十进制.
#include
#include
int main(void){
int convert(int,char *);
int i,j;
char m[20];
printf("请输入你要转换的数:"); scanf("%s",m);
i=0;
while(*(m+i)!='\0'){
i++;
}
j=convert(--i,m);
printf("转换为十进制是:%d\n",j); return 0;
}
int convert(int a,char *p){
int i,j,sum;
sum=0;
for(i=0;i<=a;i++){
if(*(p+i)<='f'&&*(p+i)>='a') j=(int)(*(p+i))-87;
else if(*(p+i)<='F'&&*(p+i)>='A') j=(int)(*(p+i))-55;
else
j=(int)(*(p+i))-48;
sum=sum+pow(16,a-i)*j; }
return (sum);
}