写一个函数,输入一个十六进制数,输出相应的十进制数。基本思路是16进制数以字符串输入,然后经过转变为相应的10进制数,主要处理A~F六个字母对应的值,相应的程序如下:
#include
#include
#include
int main( )
{
char a[10];
void convert(char a[]);
printf("请输入十六进制数:");
gets(a); //输入十六进制数
convert(a);
return 0;
}
void convert(char a[])
{
int n,i,num=0;
n=strlen(a);
for(i=n-1;i>=0;i--)
{
if(a[i]>='0'&&a[i]<='9')
num+=(a[i]-'0')*pow(16,n-1-i);
else if(a[i]>='A'&&a[i]<='F')
num+=(10+(a[i]-'A'))*pow(16,n-1-i);
else if(a[i]>='a'&&a[i]<='f')
num+=(10+(a[i]-'a'))*pow(16,n-1-i)

本文介绍了如何在C语言中将16进制数转换为10进制数,提供了两种不同的实现方法,包括一个自定义函数和使用内置的scanf函数。重点在于理解%x格式符的使用以及16进制数字字母的对应关系。
最低0.47元/天 解锁文章
9353

被折叠的 条评论
为什么被折叠?



