# 数值表示
1)补码表示:-n=~n+1
2)经验值数:0x3f3f3f3f。 不会溢出 用于最大值的定义
3)二进制数下标从0开始
4)返回n的最后一位1:lowbit(n) = n & -n
# 移位操作
1)1<<n=2^n
2)n<<1=2n
3)算数右移 正数补0,负数补1
4)n>>1=[n/2.0](下取整)
5)b&1 取出b在二进制下表示的最低位
6)b>>1 舍去二进制下的最低位
7)(n>>k)&1 取出整数n在二进制表示下的第k位
8)n & ( (1<<k)-1) 取出整数在二进制表示下的第0~k-1位(后k位)
9)n xor (1<<k) 把整数 n 在二进制下表示的第k位取反
10)n | (1<<k) 把整数n在二进制表示下的第k位赋值1
11)n & (~(1<<k)) 对整数n在二进制表示下的第k位赋值0
来源:https://www.cnblogs.com/hhyx/p/12424326.html