对于补码C,若C=S,~C=-S-1
memset(a,0xff,sizeof(a)) -1
memset(a,0x3f,sizeof(a)) 1061109567
a>>1 向下取整
a/2 向0取整
快速幂 遍历b在二进制数下的每一位
1 int power(int a,int b,int p) //(a^b)%p 2 { 3 int s=1;a%=p,s%=p; 4 while(b) 5 { 6 if(b&1) s=1ll*s*a%p; 7 a=1ll*a*a%p; //注意不要顺手打上else 8 b>>=1; 9 } 10 return s; 11 }
取出第k位 (n>>k)&1
0~k-1位 n&((1<<k)-1)
第k位取反 n^(1<<k)
第k位赋1 n|(1<<k)
第k位赋0 n&(~(1<<k))
lowbit x&(-x)
0<=k<=35 2^k mod 37互不相等