Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. var bytes = [10,20,30,40,20,20]
  2.  
  3. int startByte = 1;
  4. int startBit = 2
  5. int countBit = 16;
  6.  
  7. byte[] array = new byte[]{10,20,30,40,20,20};
  8.  
  9. int size = (int) Math.ceil((startBit + countBit) / 8d);
  10. BitSet result = getBitSet(array, startByte, startBit, countBit);
  11.  
  12. byte[] newArray= Arrays.copyOf(result.toByteArray(), size); //новый массив на основе полученных битов
  13.  
  14. public static BitSet getBitSet(byte[] array, int fromByteIndex, int fromByteBitIndex, int bitsCount) {
  15. BitSet arrayBitSet = BitSet.valueOf(array);
  16. int fromIndex = fromByteIndex * 8 + fromByteBitIndex;
  17. return arrayBitSet.get(fromIndex, fromIndex + bitsCount);
  18. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement