说我有一个数组像String[] arrayofbits = new String[256];
如何用1字节的所有位组合填充数组?
我想生成256个索引的数组。从索引0开始,这将是arrayofbits[0] = "00000000"
索引1 arrayofbits[1] = "00000001"
等等到第255索引arrayofbits[255] = 11111111
。如何生成它?
说我有一个数组像String[] arrayofbits = new String[256];
如何用1字节的所有位组合填充数组?
我想生成256个索引的数组。从索引0开始,这将是arrayofbits[0] = "00000000"
索引1 arrayofbits[1] = "00000001"
等等到第255索引arrayofbits[255] = 11111111
。如何生成它?
管理编码解决方案。也许我对我的问题不太清楚,无论如何谢谢所有帮助我的人。
String[] arrayofbits = new String[256];
byte bytes;
String s;
for (int i = 0; i < 256; i++) {
bytes = (byte) i;
s = (Integer.toBinaryString(0xFF & bytes)).replaceAll(".*(.{8})$", "$1");
s = StringUtils.leftPad(s, 8, "0");
arrayofbits[i] = s;
System.out.println("index " + i + " " + s + "\n");
}
这实际上并没有做你在你的问题中陈述的内容,因为没有数组被填充。你能否更新这个问题来更清楚你想要做什么? – templatetypedef
我的不好,我没有复制正确的编辑,现在更新了。 – aval
试试这个:
for(int i = 0; i<256; i++) {
arrayofbits[i] = i; //because everything is binary!
}
您可以使用:
String asString = Integer.toBinaryString(32);
一个字节转换为二进制字符串。即,32
变成100000
。
然后,如果您希望将字符串"111"
转换为十进制值111
你可以使用:
int asDecimal = Integer.valueOf("111");
返回111
(一一一)。
但是,我认为你只关心第一部分(转换"111"
到111
对我没有多大意义)。
你还尝试过什么吗?如果是这样,请在这里发布代码并具体解释什么不起作用。如果没有,请先给它一个镜头。 –
'a [i] = i'我错过了什么? – dasblinkenlight
@dasblinkenlight是的。您错过了OP不知道如何编写循环的事实。 –