gpt4 book ai didi

java - 生成所有可能的 8 位二进制字符串

转载 作者:太空宇宙 更新时间:2023-11-04 11:03:34 32 4
gpt4 key购买 nike

我有一个密码 key ,格式为“XY XY+1 XY+2 XY+3 XY+4 XY+5 FF FF”,其中 XY 是未知字节,例如,XY 可能是 00000000,因此 XY+1 是 00000001。另外,FF 是一个常数,因此始终为 11111111。

我有一个 addBinary() 方法,它只是将 1 添加到我给它的任何二进制字符串中,但是,我发现很难生成由“xxxx ... 11111111 11111111”组成的所有二进制字符串。

我还在 StackOverflow 上发现了这个 printB() 方法,它生成字符串,但只是不确定如何将 FF 硬编码到其中。

static void printB()
{
for(int i = 0; i < Math.pow(2,8); i++)
{
String format="%0"+8+"d";
System.out.printf(format,Integer.valueOf(Integer.toBinaryString(i)));
System.out.println();
}
}

任何有关如何生成此字符串的帮助将不胜感激

最佳答案

如果你想让二进制数带有 0-s 前缀,你必须做一些工作。这里我使用了一个用 0 填充的 StringBuilder,从末尾替换了没有 0 填充的二进制表示。

for (int i = 0; i <= 0xFF; i++) {
StringBuilder builder = new StringBuilder("00000000");
String binary = Integer.toBinaryString(i);
builder.replace(8 - binary.length(), 8, binary);
System.out.println(builder);
}

关于java - 生成所有可能的 8 位二进制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46646934/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com