ACM中的位运算技巧

听说位运算挺好玩的,那这节总结一下ACM中可能用到的位运算技巧。(可能更新

XOR运算极为重要!!(过[LC136](只出现一次的数字 - 力扣(LeetCode)):数组中每个数字都出现两次,只有一个出现一次,找到出现一次的数字)

1. 如果我们对 0 和二进制位做 XOR 运算,得到的仍然是这个二进制位
a⊕0=a
2. 如果我们对相同的二进制位做 XOR 运算,返回的结果是 0
a⊕a=0
3. XOR 满足交换律和结合律
a⊕b⊕a=(a⊕a)⊕b=0⊕b=b

<<一次相当于*2,>>一次相当于/2

使用:

  1. 判断奇偶数(数&1,为1奇数;为0偶数)
  2. 获取二进制为是1还是0(&运算)
  3. 交换两个整数变量的位置
  4. 不用判断语句,求整数的绝对值

猜你喜欢

转载自www.cnblogs.com/Black-treex/p/12677501.html