异或学习

异或运算的骚操作

异或运算性质

  1. 异或运算就是无进位相加

  2. 异或运算满足交换律、结合律,也就是同一批数字,不管异或顺序是什么,最终的结果都是一个

  3. 0^n=n, n^n=0

  4. 整体异或和如果是x,整体中某个部分的异或和如果是y,那么剩下部分的异或和是x^y

这些结论最重要的就是1) 结论,所有其他结论都可以由这个结论推论得到

其中第4) 相关的题目最多,利用区间上异或和的性质

本文来自于左程云

我觉得这个课程中最重要的一点是如何获得一个数最左的1
例如:40
二进制表示000000101000

代码如下

cpp
n-=(n&(-n));

还有函数lowbit可以用

posted @ 2026-11-06 20:49  zhou_yuan  阅读(3)  评论(0)    收藏  举报