如何将大的int数转换为Binary? - Java

时间:2015-02-20 14:41:00

标签: java android

我正在尝试将int转换为二进制,我正在执行代码。

public static String intToBinary16Bit(String strInt) {
        String bin = Integer.toBinaryString(strInt);
        return String.format("%016d", Integer.parseInt(bin));
    }

所以,如果我给予strInt = 0211而不是它正常工作并给出输出 0000001000010001

但是,如果我给予strInt = 4527而不是投掷NumberFormateException

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

尝试以下方法,它使用递归进行转换。

  private static void toBinary(int number) {
        int remainder;

        if (number <= 1) {
            System.out.print(number);
            return;
        }

        remainder = number % 2; 
        toBinary(number >> 1);
        System.out.println(remainder);
    }

答案 1 :(得分:1)

尝试what eznme suggests here

public class A {
    public static void main(String[] args) {

        int a = Integer.parseInt(args[0]);
        System.out.println(a);

        int bit=1;
        for(int i=0; i<32; i++) {
            System.out.print("  "+(((a&bit)==0)?0:1));
            bit*=2;
        }
    }
}

答案 2 :(得分:0)

你试试:

Long.toBinaryString(2199023255552L);

Java long to binary