十进制到二进制转换

Upv*_*ote 4 java arrays binary decimal base-conversion

我想将十进制数转换为二进制数.我想将它们存储在一个数组中.首先,我需要创建一个具有一定长度的数组,以便我可以存储二进制数.之后我执行转换,这是我如何做到的:

public class Aufg3 {
    public static void main(String[] args) {
        int[] test = decToBin(12, getBinArray(12));
        for(int i = 0; i < test.length; i++){
            System.out.println(test[i]);
        }
    }

    public static int[] getBinArray(int number){
        int res = number, length = 0;
        while(res != 0){        
            res /= 2;
                    length++;
        }
        return new int[length];
    }

    public static int[] decToBin(int number, int[] array){
        int res = number, k = array.length-1;
        while(res != 0){
            if(res%2 == 0){
                array[k] = 0;
            }else{
                array[k] = 1;
            }
            k--;
            res /= 2;
        }
        return array;
    }
}
Run Code Online (Sandbox Code Playgroud)

还有什么需要改进的吗?它应该打印1100输入12.

cod*_*ict 6

为什么不直接使用Integer类的toBinaryString方法:

System.out.println(Integer.toBinaryString(12))
Run Code Online (Sandbox Code Playgroud)

  • 我不知道那种方法.这比我的建议好. (2认同)