我今天碰到了这段代码:
indexValid &= x >= 0;
Run Code Online (Sandbox Code Playgroud)
&=是什么意思?有人可以解释一下这个陈述中发生了什么吗?
这不是关于Objective-C,而是关于Objective C.
这里与&=运营商的声明相当于indexValid = indexValid & (x >= 0).该&运营商本身就是所谓的按位与操作,以及ANDS中的操作数.这意味着,1只有两个操作数都1返回,否则返回,0如果没有任何操作数1.ANDing和ORing通常用于设置软件中的标志.
例如,如果indexValid是0011010二进制而你AND是(x >= 0)(它是一个布尔表达式结果,1或0),结果是0000000和(假设x> = 0的计算结果为1)作为0011010 & 0000001计算结果0000000.
如果你不了解二进制逻辑,http://en.wikipedia.org/wiki/Boolean_logic是一个很好的起源.
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |