为了账号安全,请及时绑定邮箱和手机立即绑定

填充数组的其余部分

填充数组的其余部分

慕虎7371278 2021-12-01 14:33:51
我正在编写一个二进制补码程序,我使用数组将十进制转换为二进制。我也想要 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    }}
查看完整描述

3 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

有一个名为“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]


查看完整回答
反对 回复 2021-12-01
?
慕森王

TA贡献1777条经验 获得超3个赞

看看这段代码:


int number =22;

int bits[]= new int[8];

for(int i=0;i<=7;i++){

    if(number>0){

        bits[7-i]=number%2;

        number/=2;

    }

    else{

        bits[7-i]=0;

    }

}

for(int i=0;i<=7;i++){

    System.out.print(bits[i]);

}  

我想,我已经解决了你的问题。


查看完整回答
反对 回复 2021-12-01
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

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


查看完整回答
反对 回复 2021-12-01
  • 3 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信