Java Byte Array to Int bytesToInt(byte[] bytes, int bitOffset, int bitCount)

Here you can find the source of bytesToInt(byte[] bytes, int bitOffset, int bitCount)

Description

bytes To Int

License

Open Source License

Declaration

public static int bytesToInt(byte[] bytes, int bitOffset, int bitCount) 

Method Source Code

//package com.java2s;
/*/*from ww  w.ja  v  a 2s  .c o  m*/
 * Copyright (C) 2015 An Honest Effort LLC, coping.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

public class Main {
    public static int bytesToInt(byte[] bytes, int bitOffset, int bitCount) {
        int bitReadIndex = bitOffset;
        int byteReadIndex = bitReadIndex / 8;
        int bitWriteCount = 0;
        int result = 0;

        while (bitWriteCount < bitCount) {
            int value = (bytes[byteReadIndex] & 0xFF);
            int bitRelative = bitReadIndex - (8 * byteReadIndex);

            result = Integer.rotateLeft(result, 1) + (Integer.rotateRight(value, 7 - bitRelative) & 0x01);

            bitWriteCount += 1;
            bitReadIndex += 1;
            byteReadIndex = bitReadIndex / 8;
        }

        return result;
    }
}

Related

  1. bytesToInt(byte[] bytes)
  2. bytesToInt(byte[] bytes)
  3. bytesToInt(byte[] bytes)
  4. bytesToInt(byte[] bytes)
  5. bytesToInt(byte[] bytes)
  6. bytesToInt(byte[] bytes, int offset)
  7. bytesToInt(byte[] bytes, int offset, int length)
  8. bytesToInt(byte[] bytes, int start)
  9. bytesToInt(byte[] bytesSource)