关于位运算有利于记忆的几点
位与 ( &)
第一个操作数的的第n位于第二个操作数的第n位如果都是1,那么结果的第n为也为1,否则为0
位或 ( | )
第一个操作数的的第n位于第二个操作数的第n位 只要有一个是1,那么结果的第n为也为1,否则为0
位异或 ( ^ )
第一个操作数的的第n位于第二个操作数的第n位 相反,那么结果的第n为也为1,否则为0
位非 ( ~ )
被操作数的第n位为1,那么结果的第n位为0,反之。
几个经验述说:
如果算法中能用到位运算就用,没有比这个更快的:
1、当相同元素异或时,其运算结果为0, N ^ N = 0
2、当不同元素异或时,其运算结果为非0, N ^ M != 0
3、任何数与数字0进行异或运算,其运算结果为该数本身 N ^ 0 = N