Java Number Unpack unpackLong(long a, int bits)

Here you can find the source of unpackLong(long a, int bits)

Description

Method unpackLong.

License

Open Source License

Parameter

Parameter Description
a long
bits int

Return

int[]

Declaration

public static int[] unpackLong(long a, int bits) 

Method Source Code

//package com.java2s;
/*/*from   w ww .  j  a v a  2 s .  c  o  m*/
 * 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 {
    /**
     * Method unpackLong.
     * @param a long
     * @param bits int
     * @return int[]
     */
    public static int[] unpackLong(long a, int bits) {
        int m = 64 / bits;
        int mval = (int) Math.pow(2, bits);
        int[] result = new int[m];
        long next;
        for (int i = m; i > 0; i--) {
            next = a;
            a = a >> bits;
            result[i - 1] = (int) (next - (a * mval));
        }
        return result;
    }
}

Related

  1. unpackInt(final int argb, final int type)
  2. unpackInt(int packedInt, int numBits, int numShiftedLeft)
  3. unpackInt(long theLong, boolean isFirst)
  4. unpackInts(long... longs)
  5. unpackKmer(final long value)