C++ 如果(a&;1)表示其中a是int,那么该怎么办?
鉴于此代码C++ 如果(a&;1)表示其中a是int,那么该怎么办?,c++,boolean,logic,bit-manipulation,C++,Boolean,Logic,Bit Manipulation,鉴于此代码 int arry[2]; //equal to some values if (arry[0] & 1) //what does this mean? { // do something } &是按位AND运算符。按位与运算对每个操作数的相应位执行逻辑与运算。在a&1的情况下,左手操作数是整数a,右手操作数是整数1 if关键字是if语句的语法。该语句的简化语法为: if ( condition ) statement-true 只有当条件表达式为true时,才会
int arry[2]; //equal to some values
if (arry[0] & 1) //what does this mean?
{
// do something
}
&
是按位AND运算符。按位与运算对每个操作数的相应位执行逻辑与运算。在a&1
的情况下,左手操作数是整数a
,右手操作数是整数1
if
关键字是if语句的语法。该语句的简化语法为:
if ( condition ) statement-true
只有当
条件
表达式为true时,才会执行语句true
语句。这里,条件
表达式的类型是整数类型。在这种情况下,如果按位运算结果的值不是零,则条件为真。它使用按位和
运算符来测试int
的最低位是否为1。若要添加到@RemyLebeau,则检查数字是否为奇数。是的,这是有意义的,最低位为1意味着oddA&1为“真”如果A的1位为on。