求大神给讲解一下这段程序

2019-07-16 16:11发布


if(Caculate_Use==1)   {    Respons_Dat=Receive_Dat[2]*256+Receive_Dat[1];    Respons_Dat<<=8;    Respons_Dat+=Receive_Dat[0];    if(Respons_Dat>0x800000)      {       Respons_Dat-=0x01000000;      }    VRmsa=Respons_Dat;    VRmsa/=0x800000;      }else if(Caculate_Use==2)       {        Respons_Dat=Receive_Dat[2]*256+Receive_Dat[1];        Respons_Dat<<=8;        Respons_Dat+=Receive_Dat[0];           VRmsa=Respons_Dat;        VRmsa/=8192.0;                   }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
xyz549040622
1楼-- · 2019-07-16 21:13
乘以256加上前面的,应该是个双字节数合并了吧。比如0x0102,应该是1*256+2
零tot
2楼-- · 2019-07-16 21:23
显示判断Caculate_Use,在为1的时候其中前三句话是数值的拼接,拼接成24位 Respons_Dat,在下面就是比较然后进行值的转换这类的;在Caculate_Use为2时函数类似
yhl123
3楼-- · 2019-07-16 23:39
零tot 发表于 2016-2-21 11:48
显示判断Caculate_Use,在为1的时候其中前三句话是数值的拼接,拼接成24位 Respons_Dat,在下面就是比较然后进行值的转换这类的;在Caculate_Use为2时函数类似

懂了呢,谢谢啦~
零tot
4楼-- · 2019-07-17 00:11
yhl123 发表于 2016-2-21 19:39
懂了呢,谢谢啦~

客气互帮互助      

一周热门 更多>