前々回、前回で int 値に対するビット演算を見ましたが、今回は byte 値に対する同様のビット演算を見ていきます*1。 int 値に使える論理演算 ~, &, |, ^ やビットシフト <<, >>, >>> は byte 値に対しても使えますが、根本的な違いは返り値が int 値であるところです。 正確に言うと、ビット演算を行う前に byte 値を int 値に変換してから、前回までで見た int 値に対するビット演算が施されます。 これは、例えば byte 値と int 値を + 演算子で足し算をするときに byte 値の方を int 値に自動にキャストするというのとは異なり、2つの byte 値同士を & 演算子などで計算する場合にも強制的に int 値に変換されます。 ほとんどの場合は、結果の int 値を byte 型にキャストして下位8ビットをとれば必要な byte 値の結