帮忙分析一下语句

2019-03-24 15:37发布

unsigned char addr1,addr2;
  unsigned int  i,addr=address;
  addr1 = addr>>8;           //多余?
  addr1 = addr1<<6;         //多余?
  addr1|= CMD_RMM;
  addr2 = (unsigned char)addr;

其中address=0x04;CMD_RMM=0x0e;
我怎么感觉中间的两句多余呢?最后add1还是等于CMD_RMM呢? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
3g465
1楼-- · 2019-03-24 23:01
LZ注意下
|= 是复合赋值符
addr1 |= CMD_RMM;
相当于addr1 = addr1 | CMD_RMM;
执行后的addr1值应该是addr1或上CMD_RMM的值。
luoddy520
2楼-- · 2019-03-24 23:26
< :TI_MSP430_内容页_SA7 --> 但是在此之前的右移和左移,已经将addr1变成0x00了不是么?
wstt
3楼-- · 2019-03-25 03:46
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章