Я пытаюсь поместить следующее двоичное представление в байтовый буфер на 4 байта. Но так как Java не работает без знака, у меня проблемы: 11111111000000001111111100000000
ByteBuffer bb = ByteBuffer.allocate(8);
bb.putInt(Integer.parseInt("11111111000000001111111100000000", 2));
//throws numberformatexception
Отрицание самого значимого бита, по-видимому, изменяет значение двоичной строки из-за того, как работает дополнение two:
bb.putInt(Integer.parseInt("-1111111000000001111111100000000", 2));
System.out.println(Integer.toBinaryString(bb.getInt(0)));
//prints 10000000111111110000000100000000
Важно, чтобы значение было именно в этом двоичном формате, потому что позже оно будет рассматриваться как целое число без знака. Как мне добавить значение (и будущие значения, начинающиеся с 1) в байтовый буфер?