10

据我了解, & 运算符类似于 && 运算符,只是 && 仅在第一个为真时检查第二个,而 & 无论第一个的结果如何都检查两者。基本上 && 只是节省了一点时间和精力。

如果是这样,那么这段代码是如何工作的?

int l = 0;
if ((l & 8) != 0 && (l & 4) == 0){ do something}

the(l & 8)和 the 是(l & 4)做什么的?在这种情况下 & 做什么?

4

1 回答 1

17

& 和 && 是两个不同的运算符,但区别不是您所描述的。

& 对两个整数进行按位与运算,如果两个源整数中的两个对应位都设置为 1,则生成第三个整数,其位设置为 1;否则为 0。

&& 仅适用于两个布尔值并返回第三个布尔值,如果两个输入布尔值都为真,则该布尔值将为真;否则为假。

于 2013-12-17T23:23:25.377 回答