我采集到两个字节的16进制数据,把他们存到unsigned char a[2]数组中,高字节放在a[1]中低字节放在a[0]中。现在我想把他们转换成10进制的数据存到unsigned int c中去,我是这样做的
c=(unsigned int)a[1]*256+(unsigned int)a[0];
这样转换后的数据不对,这是为什么呢?应该怎么做呢
unsigned char是两个16进制数,你这样处理是不行的。
最简单(程序简单,但CPU运算并不简单)的办法是,用除以10的办法,逐位地处理。