目标c中的&意味着什么?
今天我遇到了这样的代码:
indexValid &= x >= 0;
&=是什么意思? 有人能解释这个声明中发生了什么吗?
这不是关于Objective-C,而是定期的C.
这里带有&=
运算符等于indexValid = indexValid & (x >= 0)
。 &
运算符本身被称为按位运算符, AND
是运算对象。 这意味着,返回1
只有两个操作数都是1
,否则返回0
,如果任何一个操作数是不是1
。 AND
和OR
ing通常用于设置软件中的标志。
例如,如果indexValid
在二进制中为0011010
,并且用(x >= 0)
(它是一个布尔表达式结果,1或0)进行AND
运算,则结果为0000000
并且(假设x> = 0的结果为1)因为0011010 & 0000001
评估为0000000
。
如果你不知道二进制逻辑,http://en.wikipedia.org/wiki/Boolean_logic是一个很好的开始。
它是bitwise AND
加assignment operator
(或'和累加')。
它将bitwise AND
与左侧操作数相结合bitwise AND
并赋值给所述操作数。
x&= y;
是
x= x & y;
链接地址: http://www.djcxy.com/p/72651.html
上一篇: What does &= mean in objective c?
下一篇: = and &=