客观c中&=是什么意思?

guy*_*214 4 objective-c

我今天碰到了这段代码:

indexValid &= x >= 0;
Run Code Online (Sandbox Code Playgroud)

&=是什么意思?有人可以解释一下这个陈述中发生了什么吗?

Can*_*ğlu 8

这不是关于Objective-C,而是关于Objective C.

这里与&=运营商的声明相当于indexValid = indexValid & (x >= 0).该&运营商本身就是所谓的按位与操作,以及ANDS中的操作数.这意味着,1只有两个操作数都1返回,否则返回,0如果没有任何操作数1.ANDing和ORing通常用于设置软件中的标志.

例如,如果indexValid0011010二进制而你AND(x >= 0)(它是一个布尔表达式结果,1或0),结果是0000000和(假设x> = 0的计算结果为1)作为0011010 & 0000001计算结果0000000.

如果你不了解二进制逻辑,http://en.wikipedia.org/wiki/Boolean_logic是一个很好的起源.

  • 我的坏......我甚至在想什么.现在纠正了. (2认同)