Java 如何在android中创建增量二进制字符串
我想在android中创建一个高效的函数来增加一个8位二进制字符串。有什么想法吗?我已经创建了这个函数,但它的速度很慢…更好吗Java 如何在android中创建增量二进制字符串,java,android,string,binary,Java,Android,String,Binary,我想在android中创建一个高效的函数来增加一个8位二进制字符串。有什么想法吗?我已经创建了这个函数,但它的速度很慢…更好吗 for(int b1=0;b1<256;b1++){ String bin1 = Integer.toBinaryString(b1); long inb = Long.parseLong(bin1); String binfinal = String.format("%08d",inb);
for(int b1=0;b1<256;b1++){
String bin1 = Integer.toBinaryString(b1);
long inb = Long.parseLong(bin1);
String binfinal = String.format("%08d",inb);
text1.setText(binfinal);
String str1 = binfinal.replace("1", "a");
String str2 = str1.replace("0", "_");
text2.setText(str2);
}
for(intb1=0;b1如果你在寻找效率,它不会比这更快
for(int i = 0; i < 256; i++){
/* Print out the first 8 bits */
/* For 16 bits, put this as the first line of the loop:
for(int j = 32768; j > 0; j >>= 1)
*/
for(int j=128; j > 0; j >>= 1){
if((j & i) != 0)
System.out.print('1');
else
System.out.print('0');
}
System.out.print(' ');
}
for(int i=0;i<256;i++){
/*打印出前8位*/
/*对于16位,将其作为循环的第一行:
对于(int j=32768;j>0;j>>=1)
*/
对于(int j=128;j>0;j>>=1){
如果((j&i)!=0)
系统输出打印(“1”);
其他的
系统输出打印('0');
}
系统输出打印(“”);
}
这将产生类似的输出,如果它满足您的要求,则不是正数。这将获取i的值并将其转换为字符串。由于i由循环递增,因此其结果与递增二进制字符串相同
编辑:这里有一个字符串
for(int i = 0; i < 256; i++){
String result = "";
for(int j=128; j > 0; j >>= 1){
if((j & i) != 0)
result += "1";
else
result += "0";
}
// now do whatever you want with the String result
}
for(int i=0;i<256;i++){
字符串结果=”;
对于(int j=128;j>0;j>>=1){
如果((j&i)!=0)
结果+=“1”;
其他的
结果+=“0”;
}
//现在可以对字符串结果执行任何操作
}
然后设置j=32768以启动第二个for循环,并相应地调整i。您可以查看我的更新代码吗?我希望字符串结果将其用于其他函数…然后,您需要将它们添加到字符串对象并设置为文本,而不是打印出1和0。您的示例使用字符串!也许您应该在尝试i之前阅读更多Java我编辑了答案,用字符串显示出来。