多くの計算の後、いくつかのデータのバイナリ表現を含む String があります。一貫した方法で int の配列に変換する方法。
32ビットごとに取得して配列に入れることができますが、この解決策のようには見えません。
各 32 ビット セクションを解析することは、私にとって完全に良い解決策のように思えます。先頭の数字が 1 の場合の問題を回避するために、解析を行うために使用するのがおそらく最善であることに注意してくださいLong
。たとえば、次のようになります。
public static int[] parseBinaryToIntArray(String input) {
// TODO: Validation
int[] output = new int[input.length() / 32];
for (int i = 0; i < output.length; i++) {
String section = input.substring(i * 32, (i + 1) * 32);
output[i] = (int) Long.parseLong(section, 2);
}
return output;
}
訂正:
public static int[] convertIntoIntArray(String message) {
System.out.println(message.length());
int[] t = new int[message.length()/32];
for(int i = 0; i < t.length; i++){
//t[i] = Integer.parseInt(message.substring(i*32, (i+1)*32),2);
String section = message.substring(i*32, (i+1)*32);
t[i] = (int) Long.parseLong(section, 2);
// System.out.println(i+"fsa");
}
return t;
}