永发信息网

要求将一个16进制的(char字符串表示的,带0x符号)数转成10进制的数(同样是char指针表示的)。

答案:1  悬赏:80  手机版
解决时间 2021-03-18 01:45
我的思路是将16进制数首先去掉符号,转成10进制的数字,再利用itoa函数转成字符串输出。

求大神帮我理清思路和想法,代码无所谓。要求C,可以使用c的库函数。主要是实现思路。
最佳答案
#include<STDIO.H>
#include<STRING.H>
#include<STDLIB.H>
#include<MATH.H>

void main()
{
char hex_0x[]="0x78deFg",
hex[10],
Dec[10];
int val= 0,
len,
i;
strcpy(hex, strstr(hex_0x, "0x")+2);//去除 0x
strupr(hex);//将小写字符转换成大写

len= strlen(hex);
for(i= 0; i < len; i++)//将十六进制数 以十进制整数表示
{
if(hex[i] >= '0' && hex[i] <= '9')
val+= (hex[i]-48)*pow(16, len-i-1);

else if(hex[i] >= 'A' && hex[i] <= 'F') val+= (hex[i]-55)*pow(16, len-i-1);
else
{
puts("有非法字符!");
getchar();
exit(1);
}
}

itoa(val, Dec, 10);
puts(Dec);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
1960年的5角纸币值多少钱
馨发快餐这个地址在什么地方,我要处理点事
买房子签好合同之后是拿到房产局备案然后再交
足享人生养生会所这个地址在什么地方,我要处
纱窗卷不上去怎么办
在做好投标报价决策之前要做好哪些方面的准备
新时沏松溪解放街店在什么地方啊,我要过去处
成都锦程消费金融公司手机分期逾期怎么还款?
志强修理部在哪里啊,我有事要去这个地方
bism啥意思???。。。。。。。等
大合唱之间的连接词
酷比H9手机在哪里买的到?
温柔的诱惑第30集她们女生在KTV唱的是什么歌?
广东电网海陵岛供电局(旧)我想知道这个在什么
长城炫丽1.5vvt手挡不好挂档是怎么回事
推荐资讯
为什么手机内存够,但qq里面录不起小视频
乐视大厦停车场(出入口)地址在什么地方,想过
如果我10点半的台州火车站的火车,玉环怎么去
大学生应该将爱情放在哪一位?
西门子RDF310.2温控器如何进入工程模式设置参
今天是9月2号?是哪个月的第几周??
我信用卡现在正常还款,为什么银行还打电话催
错误码55是什么意思啊急。。。
朋友戴孝我能不能请他吃饭
上海佰诺泵阀有限公司新桥办事处地址在什么地
k1224次列车15:38发车到成都几点了
上阳村田在什么地方啊,我要过去处理事情
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?