位运算小结
1、数组a中一组数(a[i]只能是0或者1),0变成1,1变成0,怎样操作?比如,lt 832题
答:a[i]与1进行异或运算(异或运算:不同为真,相同为假)
2、判断一个数是奇数还是偶数?比如,lt 1342题
一个数的二进制从右向左的与1进行&运算,结果为0,则这个十进制数是偶数,结果为1,则这个数是奇数。(直到遇到最左边的1为止)
二进制数右移一位,相当于把十进制数除2
3、数组a中的数初始化为0,当a[i]^1 进行偶数次操作时,结果为0,奇数次操作时,结果为1.比如,lt 1252题
4、一个数和0异或等于这个数本身,两个相同的数异或等于0,异或运算满足交换律和结合律。比如解给定一个非空整数数组,除了某个元素只出现一次,其余元素均出现两次。找出那个只出现一次的元素。lt136 Single Number.