关于16进制数据转换成10进制数据的问题

2019-03-24 20:23发布

我采集到两个字节的16进制数据,把他们存到unsigned char a[2]数组中,高字节放在a[1]中低字节放在a[0]中。现在我想把他们转换成10进制的数据存到unsigned int c中去,我是这样做的
c=(unsigned int)a[1]*256+(unsigned int)a[0];
这样转换后的数据不对,这是为什么呢?应该怎么做呢
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
dontium
2019-03-25 02:48
unsigned char是两个16进制数,你这样处理是不行的。

最简单(程序简单,但CPU运算并不简单)的办法是,用除以10的办法,逐位地处理。

一周热门 更多>