本文主要介绍C语言中实现十六进制转十进制的两种方法的相关资料,有需要的可以参考一下。
C语言 十六进制转十进制
问题描述
从键盘输入一个不超过8位的正十六进制数串,转换成正十进制数输出。
注:十六进制数中的10~15分别用大写字母A、B、C、D、E、F表示。
输入样本
FFFF
抽样输出
65535
想法:我感觉以下两种方法都是对的,但是.我不想谈狡猾。
选项1:
# includestdio.h
#包含math.h
#includestring.h
int main(){
char s[50];
scanf('%s ',s);
int t=strlen(s);
long sum=0;
for(int I=0;它;i ){
if(s[i]='A的s[i]='Z ')
s[I]=int(s[I]-' A ')10 ' 0 ';
sum=((s[i]-'0')*(pow(16,t-1-I)));
}
printf('%ld\n ',sum);
}
选项2:
# includestdio.h
int main(){
char s[50];
scanf('%s ',s);
int t;
long sum=0;
for(int I=0;s[I];i ){
if(s[i]='9 ')
t=s[I]-' 0 ';
其他
t=s[I]-' A ' 10;
sum=sum * 16t;
}
printf('%ld\n ',sum);
返回0;
}
感谢您的阅读,希望能帮到您,感谢您对本站的支持!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。