Objective-C位运算符-按位或运算符

在Objective-C中对两个值执行按位或运算时,会逐位比较两个值的二进制表示。此时,只要第一个值或者第二个值的相应位是1,那么结果的对应位就是1。按位或操作符的真值表:

  b1     b2         b1 | b2
-------------------------
  0       0           0
  0       1           1
  1       0           1
  1       1           1

所以,如果w1是short int,等于十六进制的19,w2也是short int,等于十六进制的6a,那么对w1和w2执行按位或会得到十六进制的7b,如下所示:

w1     0000 0000 0001 1001         0x19
w2     0000 0000 0110 1100     | 0x6a
-----------------------------------------------
w3     0000 0000 0111 1011         0x7b

按位或操作通常就称为 按位OR,用于将某个词的特定位设为1。例如,以下语句将w1最右边的三位设为1,而不管这些位操作前的状态是什么都如此。

w1 |= 07;

更多Objective-C语法相关内容,敬请访问 苹果开发者新浪博客。

想了解其他位运算符,请参阅 Objective-C位运算符一览 表

你可能感兴趣的:(Objective-C位运算符-按位或运算符)