微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 下边这个表达式中为什么乘以0X100

下边这个表达式中为什么乘以0X100

时间:10-02 整理:3721RD 点击:
T= Air_MO1.ubData[1]*0x100+Air_MO1.ubData[0];
T为uword类型, Air_MO1.ubData[n]为ubyte类型,这个表达式是想实现的是低字节和高字节相加,然后合成一个数,但是我不知道为什么要乘以0x100,我觉得应该乘以0x10就可以啊,求解惑

      由于你这个是程序中的一行,不好判断正确与否。你可以将0x100与0x10换算为十进制看看,就明白了。

Air_MO1.ubData的类型应该是unsigned short吧。

好的谢谢

乘以0x100是左移8位,乘以0x10是左移4位,可能是将2个8位的数组成一个16位的数

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top