Java Bits Convert to bitToLong(byte[] bytes, int offset, int length)

Here you can find the source of bitToLong(byte[] bytes, int offset, int length)

Description

Interpret a BIT value as an integer.

License

Open Source License

Declaration

public static long bitToLong(byte[] bytes, int offset, int length) 

Method Source Code

//package com.java2s;
/*/*from   w  w w . j a  v a 2s  .  c  om*/
  Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
    
  The MySQL Connector/J is licensed under the terms of the GPLv2
  <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>, like most MySQL Connectors.
  There are special exceptions to the terms and conditions of the GPLv2 as it is applied to
  this software, see the FOSS License Exception
  <http://www.mysql.com/about/legal/licensing/foss-exception.html>.
    
  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; version 2
  of the License.
    
  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, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth
  Floor, Boston, MA 02110-1301  USA
    
 */

public class Main {
    /**
     * Interpret a BIT value as an integer.
     */
    public static long bitToLong(byte[] bytes, int offset, int length) {
        int shift = 0;

        long[] steps = new long[length];

        for (int i = offset + length - 1; i >= offset; i--) {
            steps[i] = (long) (bytes[i] & 0xff) << shift;
            shift += 8;
        }

        long valueAsLong = 0;

        for (int i = 0; i < length; i++) {
            valueAsLong |= steps[i];
        }

        return valueAsLong;
    }
}

Related

  1. bitsUsed(long value)
  2. bitTest(String value, int pos)
  3. bitToBoolean(byte b)
  4. bitToBoolean(final byte value, final int bitNbr)
  5. bitToLong(byte[] bytes, int offset, int length)
  6. bitValueHelper(final int index, final int[] data)
  7. bitWiseAnd(final byte[] array1, final byte[] array2)