位运算小结

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.

 

posted @ 2021-04-15 11:39  Makerr  阅读(41)  评论(0编辑  收藏  举报