工具-编程小技巧
参考文献
使用异或运算来进行数值交换操作
异或运算语法: 假设a和b不相等.
- a^a=0;
- a^b=1;
- a^0=0;
- 异或运算满足交换律;
- 异或运算满足结合律;
1 | // 进行异或运算 a = a ^ b |
取中间值
前置条件: 数组区间[l,r],取该区间的中间值
- 使用
l+((r-l)>>1)
不使用(l+r)/2
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HoleLin's Blog!
异或运算语法: 假设a和b不相等.
- a^a=0;
- a^b=1;
- a^0=0;
- 异或运算满足交换律;
- 异或运算满足结合律;
1 | // 进行异或运算 a = a ^ b |
前置条件: 数组区间[l,r],取该区间的中间值
l+((r-l)>>1)
不使用(l+r)/2