/*测试 : |= 或赋值*/
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