&规定两对应位都为1则为1,否则为0
|规定两对应位其中有1则为1,否则0
^规定两对应位相同则为0,不同为1
~规定两对应位按位求补
<<将二进制数按指定左移几位,移掉的省略,右边缺失的位,用0补齐
>>将二进制数按指定右移几位,移掉的省略,左边缺失的位,(该数是正数)用0补齐,(该数是负数)用1补齐
>>>将二进制数按指定右移几位,移掉的省略,左边缺失的位,用0补齐
骚操作
a&1=0为偶数,a&1=1为奇数;
取n的第k位 n>>k&1;
取相反数a=~a+1;
交换a和b a^=b;b^=a;a^=b;因为(a^b)^b=a;
判断正负 a>>31,等于0为正,等于1为负;
a%2=a&1; 可以提速