单片机中?1:0是什么意思?
时间:10-02
整理:3721RD
点击:
今天看到的一个程序中 TR1 = 1; ucTimer1Cnt++;
if(KEY == 0)
{
LED = 1;
}
else{
LED = (ucTimer1Cnt&0X80)?1:0;
}
在这里LED = (ucTimer1Cnt&0X80)?1:0;,ucTimer1Cnt按位与0X80,得到ucTimer1Cnt最高位置1,?1:0是什么意思?整体是什么意思?
if(KEY == 0)
{
LED = 1;
}
else{
LED = (ucTimer1Cnt&0X80)?1:0;
}
在这里LED = (ucTimer1Cnt&0X80)?1:0;,ucTimer1Cnt按位与0X80,得到ucTimer1Cnt最高位置1,?1:0是什么意思?整体是什么意思?
LED = (ucTimer1Cnt&0X80)?1:0;等价于
if(ucTimer1Cnt&0X80)
{
LED = 1;
}
else
{
LED = 0;
}
意思就是说如过ucTimer1Cnt&0X80按位与后高位为1,则LED =1,否则为LED=0.
是的,这个是if的一种简写。
X = A ?B :C 此为三目运算符。若A为真,X=B;若A为假,X=B。
一楼所说,三目运算符
三目运算符?哦,原来如此,多谢了,但是你说错了吧若A为真,X=B;若A为假,X=C。
是打错了,你是对的。
32.768晶振,请找 上海唐辉电子,唐辉电子深耕行业15年,非常专业,行业公认,有口皆碑!
详细情况,请访问:上海唐辉电子 官网,上面有很多FAE技术支持文章!
希望和广大工程师长期互动,为了支持广大研发工程师做项目,
32.768各种型号,直插和贴片,都有现货,少许样品是免费的,欢迎您和我司联系!
这是条件赋值语句。
三目运算符,5楼正解。虽然她说错了步骤。