Java Integer to Binary itob(long integer, int[] arr)

Here you can find the source of itob(long integer, int[] arr)

Description

Converts a binary number, the number required, and the number of bits desired output (here 26) Store the result in the overall picture "bit2"

License

Apache License

Parameter

Parameter Description
integer a parameter
length a parameter

Declaration

private static String itob(long integer, int[] arr) 

Method Source Code

//package com.java2s;
/**//from w  w w  .j a  va  2 s.c o m
 *  Copyright 2015 Yannick Roffin
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *   limitations under the License.
 */

public class Main {
    /**
     * Converts a binary number, the number required,
     * and the number of bits desired output (here 26)
     * Store the result in the overall picture "bit2"
     * 
     * @param integer
     * @param length
     * @return 
     */
    private static String itob(long integer, int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            if ((integer / power2(arr.length - 1 - i)) == 1) {
                integer -= power2(arr.length - 1 - i);
                arr[i] = 1;
            } else
                arr[i] = 0;
        }
        StringBuilder sb = new StringBuilder();
        int sz = 0;
        for (int b : arr) {
            if ((sz % 2) == 0) {
                sb.append(" ");
            }
            sb.append(b);
            sz++;
        }
        return sb.toString();
    }

    /**
     * Calculating the number 2 ^ stated figure, used by itob function to convert decimal / binary
     * @param power
     * @return
     */
    private static long power2(int power) {
        long integer = 1;
        for (int i = 0; i < power; i++) {
            integer *= 2;
        }
        return integer;
    }
}

Related

  1. intToBinary(long value, int bits)
  2. intToBinString(int val, int width)
  3. itob(int i, int j)
  4. ItoB(int x)
  5. iToB(int[] intVals)