値をビット単位で処理するときに使います。次の表に示す演算子が利用できます。表記例で使用する変数Aは10進数の170(2進数では10101010)を記憶しているものとします。
| 演算子 | 演算 | 表記例 | 演算結果(括弧内は2進数) |
|---|---|---|---|
| & | ビットごとのAND | B = A & 120; | 40 (101000) |
| | | ビットごとのOR | B = A | 120; | 250 (11111010) |
| ^ | ビットごとのXOR | B = A ^ 120; | 210 (11010010) |
| << | 左シフト | B = A << 1; | 340 (101010100) |
| >> | 右シフト | B = A >> 1; | 85 (1010101) |
| >>> | 0を詰めながら右シフト | B = A >>>1; | 85 (1010101) |
| ~ | ビットごとのNOT | B = ~A; | -171 (11111111111111111111111101010101) |
| <<= | 左シフト+代入 | ||
| >>= | 右シフト+代入 | ||
| >>>= | 0を詰めながら右シフト+代入 | ||
| &= | ANDをとって代入 | ||
| != | ORをとって代入 | ||
| ^= | XORをとって代入 |