问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入 FFFF
样例输出 65535
//具体实现代码
#include<stdio.h>
#include<string.h>
int main(){
int i;
int m;
int n=1;
long long sum=0;
char str1[9];
scanf("%s",str1);
m=strlen(str1);
for(i=m-1;i>=0;i--){
if(i<m-1) n=n*16;
if(str1[i]>='A') sum=sum+((double)str1[i]-55)*n;
else sum=sum+((double)str1[i]-'0')*n;
}
printf("%ld",sum);
return 0;
}