位运算
运算对象只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。
位运算符
- 运算符
&(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 - 优先级
位运算符的优先级从高到低,依次为~、&、^、|,
~的结合方向自右至左,优先级比算术运算符高,
其余位运算符的结合方向都是自左至右,优先级比关系运算符低。 - &
同为 1 的位,结果为 1,否则结果为 0
按位与运算典型用法:取一个位串信息的某几位,如以下代码截取x的最低7位:x & 0111111。 - |
只要有1个是1的位,结果为1,否则为0 - ^
相应位的值相同的,结果为 0,不相同的结果为 1 - ~
哪些为0的位,结果是1,而哪些为1的位,结果是0 - 移位运算用来将整型或字符型数据作为二进位信息串作整体移动
- ( <<)
左移运算将一个位串信息向左移指定的位,右端空出的位用0补充
+( >>)
右移运算将一个位串信息向右移指定的位,右端移出的位的信息被丢弃
- ( <<)
网友评论