位运算的运算分量只能是整型数据,位运算把运算对象看作是由二进制位组成的位串,逐位完成指定的运算,得到一个新的位串。
位运算符有4个,按优先级从高到低顺序,依次为“~(位反)、&(位与)、^(位异或)、|(位或)。
位反运算符“~”是单目运算符,结合方向自右至左,且优先级高于算数运算符,其余三个运算符均为双目运算符,结合方向都是自左向右,优先级低于关系运算符。
1)&(位与)运算的规则
0&1 = 0;0&0 = 0;1&1 = 1;1&0 = 0;
只有两个运算分量均为1时,该运算结果才为1,否则为0;
eg:53&22 的结果为 20;
2)| (位或)运算
0 | 1 = 1;0 | 0 = 0;1 | 1 = 1;1 | 0 = 1;
只有两个运算分量均为0时,该运算结果才为0,否则为1;
eg:53|22 的结果为 55;
3)^(位异或)运算
0^1 = 1;0^0 = 0;1^1 = 0;1^0 = 1;
只有两个运算分量都相同时,该运算结果才为0,否则为1;
eg:53^22 的结果为 35;
4)~(位反)运算
~0 = 1; ~1 = 0
运算分量各位取反;
eg:~53 的结果为 -54;
网友评论