2018-10-10

位运算:
优先度低于+-*/
&与:0&1,0&0 =0,1&1=1,可以通过n&(n-1)使得最末尾的1变成0,进而算出n中有多少1

异或运算,11=0, 0^0 = 0, 1^0 = 1, 两个数相同就取0,不同就取1,异或特殊性在于n^n=0, 所以找出n-1个重复两次的数的数组里有一个数没重复的时候,用异或

无符号位移,在二进制中,最前面的一位表示正负,若1^(-1),则前31位为1,最后一位是0。用>>>位移就不用考虑最前面的正负号,直接为0

你可能感兴趣的:(2018-10-10)