据我所了解,& 运算符类似于 && 运算符,只是 && 仅在第一个条件为真时才检查第二个条件,而 & 则无论第一个条件的结果如何都会检查两个条件。基本上,&& 只是节省了一点时间和功率。
如果是这样,那么这段代码是如何工作的呢?
int l = 0;
if ((l & 8) != 0 && (l & 4) == 0){ do something}
(l & 8)和(l & 4)的作用是什么?在这种情况下&是什么意思?
据我所了解,& 运算符类似于 && 运算符,只是 && 仅在第一个条件为真时才检查第二个条件,而 & 则无论第一个条件的结果如何都会检查两个条件。基本上,&& 只是节省了一点时间和功率。
如果是这样,那么这段代码是如何工作的呢?
int l = 0;
if ((l & 8) != 0 && (l & 4) == 0){ do something}
(l & 8)和(l & 4)的作用是什么?在这种情况下&是什么意思?
& 和 && 是两个不同的运算符,但它们的区别并不是你所描述的。
& 对两个整数执行按位 AND 操作,产生一个第三个整数,其中的位设置为 1,如果两个源整数中对应的位都设置为 1;否则为 0。
&& 只适用于两个布尔值,并返回一个第三个布尔值,如果输入的两个布尔值都为 true,则结果为 true;否则为 false。
if ((l & 12) == 8) { do something }
。 - harold