缺省情况下,位运算符针对int类型数据进行操作。
位运算有以下几种:
- 与运算符“&”:将两个操作数的二进制位进行按位与运算,如果对应的二进制位都是1时,该位的结果为1,否则为0;
- 或运算符“|”:将两个操作数的二进制位进行按位或运算,如果对应的二进制位都是0时,该位的结果为0,否则为1;
- 异或运算操作符“^”:将两个操作数的二进制位进行按位或运算,如果对应的二进制位相同,该位的结果为0,否则为1;
- 非运算操作符“~”:将一个操作数的二进制位进行按位取反;
- 左移运算操作符“<<”:将操作数对应的二进制位左移1位,右侧补0;
- 右移运算操作符“>>”:将操作数对应的二进制位左移1位,右侧填充符号位;
- 右移运算操作符“>>>”:将操作数对应的二进制位左移1位,右侧补0;
&与|也可以对布尔类型的数据进行运算,但所表示的含义与这里不同,需要根据&与|作用的操作数的类型来判断其具体的操作含义。“<<”和“>>”相当于乘以和除以2的幂次方