Here you can find the source of unpackLong(long a, int bits)
Parameter | Description |
---|---|
a | long |
bits | int |
public static int[] unpackLong(long a, int bits)
//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; } }