听说位运算挺好玩的,那这节总结一下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奇数;为0偶数)
- 获取二进制为是1还是0(&运算)
- 交换两个整数变量的位置
- 不用判断语句,求整数的绝对值
原文地址:https://www.cnblogs.com/Black-treex/p/12677501.html
时间: 2024-10-08 10:09:23