&:二进制下当前位同为1,返回1,否则返回零
~:取反,在二进制下每一位都取相反(即它为一你取零,它为零你取一)
lowbit:即x&-x 返回一所在的最后一位
取出整数n在二进制的第k位:
(n>>k)&1 取出整数n在二进制的0~k-1位:
n&((1<<k)-1) 把整数n在二进制的第k位取反:
n^(1<<k) 把整数n在二进制的第k位赋值1:
n|(1<<k) 把整数n在二进制的第k位赋值0:
n&(~(1<<k))