/*测试 : |= 或赋值*/
int r1= 1; //1对应的2进制0001
r1 |= 2; // 2对应的2进制 0010
运算过程1和2 先进行或运算在进行赋值
1. 0001 和 0010 进行或运算 得0011 就是3
2. 所以运算完成后下边语句将输出 r1=3
NSLog(@"r1 (r1 |= 1;之后):: %d",r1);
以此类推有
在c语言中所有的赋值符号00
= | 赋值运算符 | 变量=表达式 | 右到左 | |
/= | 除后赋值 | 变量/=表达式 | ||
*= | 乘后赋值 | 变量*=表达式 | ||
%= | 取模后赋值 | 变量%=表达式 | ||
+= | 加后赋值 | 变量+=表达式 | ||
-= | 减后赋值 | 变量-=表达式 | ||
<<= | 左移后赋值 | 变量<<=表达式 | ||
>>= | 右移后赋值 | 变量>>=表达式 | ||
&= | 按位与后赋值 | 变量&=表达式 | ||
^= | 按位异或后赋值 | 变量^=表达式 | ||
|= | 按位或后赋值 | 变量|=表达式 |
------ zander