我不知道你的項目和你的問題是什麼。但是我根據你的部分信息猜測,你已經有多組字符串按位表示,正如你所解釋的那樣。
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