Java中的按位运算符是什么?

Java提供了7个按位运算符,它们分别作用于各个位。

运算符
描述

&二进制AND
如果两个操作数中都存在,它将复制一个结果。
(A&B)= 12表示0000 1100
| 二进制或
如果存在于任何一个操作数中,它将复制一点。
(A | B)= 61表示0011 1101
^二进制异或
如果在一个操作数中设置了该位,但不是在两个操作数中都设置了,则它将复制该位。
(A ^ B)= 49表示0011 0001
〜二进制补码
它是一元的,具有“翻转”位的作用。
(〜A)= -61表示2的补码形式的1100 0011(由于带符号的二进制数)。
<<二进制左移
左操作数的值向左移动右操作数指定的位数。
A << 2 = 240表示1111 0000
>>二进制右移
左操作数的值向右移动右操作数指定的位数。

A >> 2 = 15表示1111
>>>右移零填充
左操作数的值向右移动右操作数所指定的位数,并且移位后的值用零填充。
A >>> 2 = 15表示0000 1111