与或非的应用

Cocoa中的位与位运算
口诀:

清零取反要用与,某位置一可用或
若要取反和交换,轻轻松松用异或

1 . 清零特定位 (mask中特定位置0,其它位为1,s=s& mask)

  1. 取某数中指定位 (mask中特定位置1,其它位为0,s=s& mask)
  2. 常用来将源操作数某些位置1,其它位不变。 (mask中特定位置1,其它位为0 s=s|mask)
  3. 使特定位的值取反 (mask中特定位置1,其它位为0 s=s^mask)
  4. 不引入第三变量,交换两个变量的值 (设 a=a1,b=b1)
  5. 判断int型变量a是奇数还是偶数(a & 1 = 0 偶数;a & 1 = 1 奇数)
  6. X = X & (X - 1) => 清零最低位的1
  7. X & -X => 得到最低位的1
  8. x & (~0 << n) => 将x的最右边n位清零
  9. (x >> n) & 1 => 获取x的第n位值(0或1)
  10. x & (1 << (n - 1)) => 获取x的第n位的幂值
  11. x | (1 << n) => 仅将第n位置为 1
  12. x & (~(1 << n)) => 仅将第n位置为0
  13. x & ((1 << n) - 1) => 将x最高位至第n位(含)清零
  14. x & (~((1 << (n + 1)) - 1)) => 将第n位至第0位(含)清零
    未完待续~~~

位运算在iOS中的应用
位运算的应用

你可能感兴趣的:(与或非的应用)