Я пытаюсь вставить один бит в массив байтов, который сдвинет все биты в байтовом массиве влево.
Скажем, у меня есть байтовый массив Java следующим образом:
byte[] byteArray = new byte[2];
byteArray[0] = 0x11
byteArray[1] = 0x00
В двоичном виде этот байтовый массив представлен как:
0001 0001 0000 0000
Теперь я хочу вставить ноль в третью битовую позицию (теряя последний бит в байтовом массиве), в результате чего:
0000 1000 1000 0000
Есть ли простой способ сделать это на Java? Мне известен класс BigInteger, который может преобразовывать весь байтовый массив в двоичную строку (затем вставлять таким образом и преобразовывать обратно), но это кажется неэффективным.
Заранее спасибо.