如何评估二进制数的真或假?

时间:2013-06-23 12:47:45

标签: c binary boolean

如果我写

PORTA =0b00000001;
PORTB =0b00000000;
PORTC =0b11111111;
PORTD =0b10100110;
if(PORTA){
//will this block be true?if yes then why and how it is evaluated
}
if(PORTB){
//smae here,to check true or false.
}
if(PORTC){
//if true then why or false,why?
}
if(PORTD){
//same
}

如果上面的说法有错,那么如何检查端口的状态?

1 个答案:

答案 0 :(得分:1)

通常在C中,任何非零数字都将评估为真。如果要检查端口中特定位的值,请使用binary-AND运算符&。注意:逻辑AND,&&和二进制AND,&不是一回事。

在您的问题中,只有PORTB会评估为假。