求一个C语言16进制转换为10进制的程序

如题

/* Note:Your choice is C IDE */ #include "stdio.h" #include"string.h" void main() { char s[100]; int i,tennum=0; scanf("%s",s);/*输入16进制,10-15用A-F表示*/ for(i=0;i='A')s[i]=10+s[i]-'A'; tennum=tennum*16; tennum=tennum+s[i]-'0'; } printf("The result is %d\n",tennum);/*输出10进制*/ } 这是将C16进制转换为ASCII的代码</SPAN></SPAN>string[] keys = Console.ReadLine().Split(' ');//读取用空格分成的16进制码 foreach (string key in keys) { int code = Convert.ToInt32(key, 16);//将16进制字符串转换成其ASCII码(实际是Unicode码) char c = (char)code;//取得这个Unicode码表示的char(强制转换就行) Console.Write(c.ToString());//输出。 } Console.ReadLine()
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-07
你等等,我等下就编出来~~
第2个回答  2013-08-07
int HexToDec(char *p){ int i, result; char *q; result=0; q=p+strlen(p)-1; while(q>=p) { if (*q>='A'&&*q<='F')result=result*16+10+*q-'A'; else if(*q>='a'&&*q<='f')result=result*16+10+*q-'a'; else result=result*16+*q-'0'; q--; } return result;}
第3个回答  2013-08-07
#include <stdio.h>#include<ctype.h>int HToD(char *h){//h是数组 int i,d,len; char *p; len=strlen(h); for(i=0;i<len;i++)h[i]=toupper(h[i]); for(d=0,i=0;i<len;i++) { if(h[i]>='A'&&h[i]<='F')d=d*16+10+h[i]-'A'; else d=d*16+h[i]-'0'; } return d;}main(){ char h[100]; int d; while(gets(h)!=EOF) { d=HToD(h); printf("%d\n",d); }}本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网