バイト配列に単一ビットを挿入しようとしています。これにより、バイト配列内のすべてのビットが左にシフトします。
次のような Java バイト配列があるとします。
byte[] byteArray = new byte[2];
byteArray[0] = 0x11
byteArray[1] = 0x00
バイナリでは、このバイト配列は次のように表されます。
0001 0001 0000 0000
ここで、3 番目のビット位置にゼロを挿入したい (バイト配列の最後のビットを失う) と、次のようになります。
0000 1000 1000 0000
Javaでこれを行う簡単な方法はありますか? バイト配列全体をバイナリ文字列に変換できる BigInteger クラスを認識していますが(その方法で挿入して元に戻す)、効率が悪いようです。
前もって感謝します。