单片机c语言编程语句temp=temp<<1和temp=temp<<1+1怎么理解 ,他们有什么区别?

如题所述

temp=temp<<1表示将temp左移一位;temp=temp<<1+1则是将temp左移一位后加1。左移的含义:比如temp=00001111B(二进制),那么temp<<1的结果是00011110,也就是temp的数据位依次向左移动一位,最高位可以认为被舍弃,最低位由0补齐。这是基本的位运算,可以参考相关的C语法书目。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-02-21
temp = temp << 1 右移一位,相当于乘以2
temp=temp<< 1+1 +运算优先级高于<<,本句相当于temp=temp<<2,右移2位,相当于乘以4本回答被网友采纳
第2个回答  2012-07-08
temp=temp<<1 等同于 temp = temp * 2;
temp = temp<<1 + 1 等价于 temp = temp * 2 + 1;
相似回答