昨今、若者のビット演算離れが叫ばれてる、かどうかは知りませんが、ちょっとビット演算で気になったことがあったので復習も兼ねてビット演算をあれこれ試してみました。 ビット演算の解説は世に山のようにありますが、実際自分であれこれ書いてみないとどうもシックリこないところがあるので、山に砂を積んでみました。 今回は Java で演算子が定義されている 否定(ビット反転) ~ 論理積 & 論理和 | 排他的論理和 ^ を見ていきます。 二項演算子である &, |, ^ には、対応する代入演算子 &=, |=, ^= もあります。 説明の必要はないかと思いますが、例えば「a &= b」は「a = a & b」と同じになります*1。 準備 整数値と負符号 負符号 マスク 否定 NOT (~) 論理積 AND (&) 自身との AND マスクとの AND 論理和 OR (|) 自身との OR マスクとの