目标c中的&意味着什么?

今天我遇到了这样的代码:

indexValid &= x >= 0;

&=是什么意思? 有人能解释这个声明中发生了什么吗?


这不是关于Objective-C,而是定期的C.

这里带有&=运算符等于indexValid = indexValid & (x >= 0)&运算符本身被称为按位运算符, AND是运算对象。 这意味着,返回1只有两个操作数都是1 ,否则返回0 ,如果任何一个操作数是不是1ANDOR ing通常用于设置软件中的标志。

例如,如果indexValid在二进制中为0011010 ,并且用(x >= 0) (它是一个布尔表达式结果,1或0)进行AND运算,则结果为0000000并且(假设x> = 0的结果为1)因为0011010 & 0000001评估为0000000

如果你不知道二进制逻辑,http://en.wikipedia.org/wiki/Boolean_logic是一个很好的开始。


它是bitwise ANDassignment operator (或'和累加')。

它将bitwise AND与左侧操作数相结合bitwise AND并赋值给所述操作数。

x&= y;

x= x & y; 
链接地址: http://www.djcxy.com/p/72651.html

上一篇: What does &= mean in objective c?

下一篇: = and &=