求解单片机中C编的几个指令 temp <<= 1 和temp << 1的区别 if(!(P1 & temp)) 这个是什么意思?

 我来答
catm3
推荐于2017-11-23 · TA获得超过511个赞
知道小有建树答主
回答量:234
采纳率:100%
帮助的人:359万
展开全部
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时会执行到这里
}
微笑人生CsN
2010-10-07 · TA获得超过2653个赞
知道小有建树答主
回答量:1339
采纳率:100%
帮助的人:696万
展开全部
temp <<= 1是指temp左移1位,再送回temp,相当于temp=(temp<<1)。
temp <<=1是将temp左移1位。
if(!(P1 & temp)) 是指如果P1的值和temp的值相与的结果为0,就执行if语句后面的操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式