抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

39 | 理论讲解:位运算

什么是位运算

  1. 相同为0,异或0结果依旧为 x
  2. x 异或 全1(1s 表示无数个1),结果就是取反
  3. x 异或 取反的x,因每个位都不同则为1
  4. x 异或 x 自己,因每个位都相同所以为0
  5. 异或实现 swap(但有局限)
  6. 满足结合律、交换律

编程常用的位运算操作

  • X & 1 == 1 OR == 0

判断二进制最后一位是0还是1,可用于判断奇偶性,等于(x % 2 == 1)

  • X = X & (X-1) => 清零最低位的1
  • X & -X => 得到最低位的1
  • X & ~X => 0

还有一些:

实战题⽬

191. 位1的个数

231. 2的幂

338. 比特位计数

52. N皇后 II


0条评论

发表评论