Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var bytes = [10,20,30,40,20,20]
- int startByte = 1;
- int startBit = 2
- int countBit = 16;
- byte[] array = new byte[]{10,20,30,40,20,20};
- int size = (int) Math.ceil((startBit + countBit) / 8d);
- BitSet result = getBitSet(array, startByte, startBit, countBit);
- byte[] newArray= Arrays.copyOf(result.toByteArray(), size); //новый массив на основе полученных битов
- public static BitSet getBitSet(byte[] array, int fromByteIndex, int fromByteBitIndex, int bitsCount) {
- BitSet arrayBitSet = BitSet.valueOf(array);
- int fromIndex = fromByteIndex * 8 + fromByteBitIndex;
- return arrayBitSet.get(fromIndex, fromIndex + bitsCount);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement