异或学习
异或运算的骚操作
异或运算性质
-
异或运算就是无进位相加
-
异或运算满足交换律、结合律,也就是同一批数字,不管异或顺序是什么,最终的结果都是一个
-
0^n=n, n^n=0
-
整体异或和如果是x,整体中某个部分的异或和如果是y,那么剩下部分的异或和是x^y
这些结论最重要的就是1) 结论,所有其他结论都可以由这个结论推论得到
其中第4) 相关的题目最多,利用区间上异或和的性质
本文来自于左程云
我觉得这个课程中最重要的一点是如何获得一个数最左的1
例如:40
二进制表示000000101000
代码如下
cpp
n-=(n&(-n));
还有函数lowbit可以用
浙公网安备 33010602011771号