Java提供了7个按位运算符,它们分别作用于各个位。
运算符
| 描述
| 例
| &二进制AND
| 如果两个操作数中都存在,它将复制一个结果。
| (A&B)=12表示00001100 |
|二进制或
| 如果存在于任何一个操作数中,它将复制一点。
| (A|B)=61表示00111101
|
^二进制异或
| 如果在一个操作数中设置了该位,但不是在两个操作数中都设置了,则它将复制该位。
| (A^B)=49表示00110001
|
〜二进制补码
| 它是一元的,具有“翻转”位的作用。
| (〜A)=-61表示2的补码形式的11000011(由于带符号的二进制数)。
|
<<二进制左移
| 左操作数的值向左移动右操作数指定的位数。
| A<<2=240表示11110000
|
>>二进制右移
| 左操作数的值向右移动右操作数指定的位数。
|
A>>2=15表示1111 |
>>>右移零填充
| 左操作数的值向右移动右操作数所指定的位数,并且移位后的值用零填充。
| A>>>2=15表示00001111 |