一. 异或 ^
1. 基础运算
两相同数异或=0;
2. 运用
2.1. 异或可用于查找数据中出现奇数次的数;
2.2 不进位二进制加法
等同于二进制的异或操作,能大致平分
例:12+5=9(1100 + 0101 = 9)
二. 右移
1. 右移一位 >>1
1.1 等同于对被移数除2
例:1312>>1 = 1312/2
1.2 求某两个值(L和R, L<R)的中点时,使用右移可防止溢出
若L和R很大,用(L+R)/2 可能会溢出;用L+((R-L)>>1) 可防止溢出
三. 与 &
1. 判断是否为奇数 &1
若整数 n&1 == 1,则为奇数