b >>= 1 //  b/=2

if( b & 1 ) // if(b%2)

 p=1<<n;//p=2的n次方

 

1.取出整数n在二进制表示下的第k位             (n>>k)&1

2.取出整数n在二进制表示下的第0~k-1位          n&((1<<k)-1)

3.把取出整数n在二进制表示下的第k位取反         n xor(^) (1<<k)

4.对整数n在二进制表示下的第k位赋值1           n | (1<<k)

5.对整数n在二进制表示下的第k位赋值0           n & (~(1<<K))

位运算的一些对应_赋值

待续