求解单片机中C编的几个指令 temp <<= 1 和temp << 1的区别 if(!(P1 & temp)) 这个是什么意思?
2个回答
展开全部
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时会执行到这里
}
temp <<= 1相当于temp=temp << 1
也就是 计算 temp 左移一位的值,并把这个值赋给temp
if(!(P1 & temp)) 就是 计算 P1 与 temp按位与运算的值,然后判断这个值是否为0
if(!(P1 & temp))
{
//P1 与 temp按位与运算的值为0时会执行到这里
}
else
{
//P1 与 temp按位与运算的值不为0时会执行到这里
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询