社区导航

 

搜索
查看: 1818|回复: 1

[求助] 关于16进制数据转换成10进制数据的问题

[复制链接]

10

TA的帖子

0

TA的资源

禁止发言

发表于 2015-8-13 15:18 | 显示全部楼层 |阅读模式
我采集到两个字节的16进制数据,把他们存到unsigned char a[2]数组中,高字节放在a[1]中低字节放在a[0]中。现在我想把他们转换成10进制的数据存到unsigned int c中去,我是这样做的
c=(unsigned int)a[1]*256+(unsigned int)a[0];
这样转换后的数据不对,这是为什么呢?应该怎么做呢
此帖出自Atmel MCU论坛

回复

使用道具 举报

1万

TA的帖子

33

TA的资源

版主

Rank: 6Rank: 6

发表于 2015-8-13 18:42 | 显示全部楼层
unsigned char是两个16进制数,你这样处理是不行的。

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/4 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-6-5 16:32 , Processed in 0.129932 second(s), 22 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表