java-convert decimal转换为任何二进制位

时间:2014-09-04 13:04:03

标签: java converter

我正在制作一个将十进制数转换为二进制数的项目。但我有一个问题,如何将任何输入的数字转换为二进制(我正在使用数组),这是我的代码:

    public void Decimal2Binary(int a)
{
    int result []=new int[8];
    for (int i = 7;i >=0; i--,a/=2) {
        result[i]=a%2;
}

我不需要它仅仅是8位二进制结果,但是,我需要任何大小。

2 个答案:

答案 0 :(得分:0)

使用此函数Integer.toBinaryString(int)... 为什么你想要它在一个数组? 不能是数组列表或大小数。

答案 1 :(得分:0)

你实际上没有指定输出,但是这里就是。

假设无符号(看起来像你有)。

StringBuilder result = new StringBuilder();
while(a > 0) {
    result.append(a % 2);
    a = a / 2; // This will round down automatically. ;)
}

如果您需要处理负数,我会使用&进行逐位比较。运营商 - 您也可以使用>>对于除法,但我将保留编译器的优化,以使源更易读。

显然你可以将其改为任何形式的追加