位运算符
按位与(&):如果两个输入位都是1,则生成一个输出位1,否则是0
按位或(|):如果两个输入位里面只要有一个是1,则生成一个输出位1;只有两个输出位都是0,才生成0
按位异或(^):如果两个输入位不全是1或者0,即只要不相同,则产生输出位1;相同则生成0
按位取反(~):取反运算
移位操作运算符,运算对象是二进制的“位”
按位左移(<<):将操作符左边的运算对象向左移动右侧指定的位数,低位补0
按位右移(>>):“有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。
无符号右移(>>>) :将运算符左边的运算对象向右移动运算符右侧指定的位数,它使用了“零扩展”:无论正负,都在高位插入0.这一运算符是C或C++没有的。
上面这些位此操作符都可以和=结合使用,意思把得到的结果再付给左边的变量。