猿问

填充数组的其余部分

我正在编写一个二进制补码程序,我使用数组将十进制转换为二进制。我也想要 8 位二进制。


例如,由于 22 是二进制的 10110,我想用零填充数组的其余部分,但我无法找到如何执行此操作的方法。


任何帮助表示赞赏。


编辑:


static void  toBin(int number){

    int[] bin = new int[8];

    int i =0;

    while (number > 0){

        bin[i] = number % 2;

        number = number/2;

        i++;

    }


    // Here is where I would like to add zeros if the size of the array is below 0


    for (int j = i-1; j>=0;j--){

        System.out.println(bin[j]); //Array gets reserved

    }

}


慕虎7371278
浏览 158回答 3
3回答

猛跑小猪

有一个名为“Arrays”的类,它有一个名为“fill()”的方法。语法是"Arrays.fill()"。在圆括号内,在"fill" 之后,您必须放置将填充数组其余部分的值。下面的示例用值 1 填充索引从 0 到 5(没有 6)的元素。int[] intArray = new int[8];Arrays.fill(ints2, 0, 6, 1) ;System.out.println(Arrays.toString(intArray));这是输出:[1, 1, 1, 1, 1, 1, 0, 0]

慕森王

看看这段代码:int number =22;int bits[]= new int[8];for(int i=0;i<=7;i++){&nbsp; &nbsp; if(number>0){&nbsp; &nbsp; &nbsp; &nbsp; bits[7-i]=number%2;&nbsp; &nbsp; &nbsp; &nbsp; number/=2;&nbsp; &nbsp; }&nbsp; &nbsp; else{&nbsp; &nbsp; &nbsp; &nbsp; bits[7-i]=0;&nbsp; &nbsp; }}for(int i=0;i<=7;i++){&nbsp; &nbsp; System.out.print(bits[i]);}&nbsp;&nbsp;我想,我已经解决了你的问题。

梵蒂冈之花

数组在创建时用零初始化。您只需将所需的数字更改为 1,其余数字将保持为零。尝试从第 8 位开始填充数组,然后递减您的计数器,以便您可以到达最左边的数字。
随时随地看视频慕课网APP

相关分类

Java
我要回答