钱松岩画瀑布作品图片:请问怎样用C语言的函数实现将十六转十进制?(在线)

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/06 18:05:06
一定要用C,不要用C++或其他语言。要用函数处理,要能上机通过!

以下程序已通过调试
先读入16进制的字符串(0到9以外可以用小写也可以用大写)
hextoten函数把字符串转成10进制并输出。
#include <stdio.h>
#include <string.h>

void hextoten(char h[])
{
int a,b,i;
for (a=0,i=0;i<strlen(h);i++)
{
a*=16;
if (h[i]>='0'&&h[i]<='9') b=h[i]-'0';
else if (h[i]>='a'&&h[i]<='z') b=h[i]-'a'+10;
else b=h[i]-'A'+10;
a+=b;
}
printf("%d\n",a);
}
int main()
{
char hex[20];
scanf("%s",hex);
hextoten(hex);
}

十六进制数转十进制ASC码问题

char *hex_to_asc(unsigned char Num)
{
char ascbuf[3];
ascbuf[0]=Num/100+'0';
Num=Num%100;
ascbuf[1]=Num/10+'0';
Num=Num%10;
ascbuf[2]=Num+'0';
return(ascbuf);
}

留楼上参考。。

假设a是你想转换的数据
int a = 78;//十进制值为78
debug_printf("a = %d\t%x\n",a,a);//第一个数是十进制,第二个数是16进制数
就可以了,你可以上机试一下