11智能在线
新记
求解单片机中C编的几个指令 temp <<= 1 和temp << 1的区别 if(!(P1 & temp)) 这个是什么意思?
如题所述
举报该文章
相关建议 推荐于2017-11-23
temp << 1;计算 temp 左移一位的值,语句结束后temp没有变化
temp <<= 1相当于temp=temp << 1
也就是 计算 temp 左移一位的值,并把这个值赋给temp
if(!(P1 & temp)) 就是 计算 P1 与 temp按位
与运算
的值,然后判断这个值是否为0
if(!(P1 & temp))
{
//P1 与 temp按位与运算的值为0时会执行到这里
}
else
{
//P1 与 temp按位与运算的值不为0时会执行到这里
}
温馨提示:内容为网友见解,仅供参考
当前网址:
https://11.t2y.org/zz/f77m4427v.html
其他看法
第1个回答 2010-10-07
temp <<= 1是指temp左移1位,再送回temp,相当于temp=(temp<<1)。
temp <<=1是将temp左移1位。
if(!(P1 & temp)) 是指如果P1的值和temp的值相与的结果为0,就执行if语句后面的操作。
第2个回答 2010-10-07
temp << 1 是把temp左移1位
temp <<= 1 是把 temp << 1 的结果赋值给 temp
if(!(P1 & temp)) 是判断P1与temp按位与的结果是否不为0
参考资料:
http://hi.baidu.com/%BC%C5%C4%AF937000078/blog
相似回答
大家正在搜
相关问题
单片机c语言编程语句temp=temp<<1和temp=te...
在单片机C中temp=temp & 0x80是什么意思?
单片机中if(temp=0xff)是错误的吗?
在单片机的C语言中,temp=temp<<1,是左移一位,最...
uint FTemp在单片机C语言里面是什么意思? ,源码,...
51单片机,pcf8591编程问题,发送一个字节程序中,if...
sscanf(temp,"%f",&a);这句话是什么意思?...
单片机的c语言:判断矩阵键盘被按下:P1=0xfe;whil...