我不知道你的项目和你的问题是什么。但是我根据你的部分信息猜测,你已经有多组字符串按位表示,正如你所解释的那样。
str1 = "1000110.....11";
str1 = "1110110.....01"; etc
添加这些十进制值,给出了一个模棱两可的结果,因为整数可以是多个整数值的和。只是看一个例子如下,其中总共有5种可能性[正十进制值]得到6
1+5 = 6;
2+4 = 6;
3+3 = 6;
4+2 = 6;
5+1 = 6;
如果你这样,你只是做了错误,没有别的你的情况进行。 一个更好的解决方案是, 可以计算单个字符串的十进制值。而不是加入(+)他们,只是concat(加入)他们形成一个单一的字符串。 我建议这种方法,因为它总是提供一个唯一的值,以后您可能需要知道单个字符串的十进制值。
String strVal1 = String.format(computeDecimal(str1));
String strVal2 = String.format(computeDecimal(str2));
String strVal3 = String.format(computeDecimal(str3));
.
.
.
String strValn = String.format(computeDecimal(strn));
String myVal = String.concate(strVal1,strVal1,strVal1,....strValn);
现在,您可以将您的字符串视为您的愿望。
//This will give you a non conflicting result.
更好地执行比BigIntegers上面的方法。
希望这可以帮助你很大。
可能重复的[如何将字符串转换为int在Java?](http://stackoverflow.com/questions/5585779/how-to-convert-string-to-int-in-java) – Sjoerd 2012-08-15 20:08:28
感谢您的回答。我忘记说我的字符串长度是32.然后integer.valueOf()不起作用。 :( – 2012-08-15 20:10:12
你真的想把二进制转换为整数吗?字符串只包含0和1吗?它们代表有符号还是无符号数字?数字是否适合int?int的最大数量是20亿,所以32个字符的数量不适合int。 – Sjoerd 2012-08-15 20:12:17