8 ビットのフレッチャー アルゴリズムを実装しようとしています。それを行うコードを書きましたが、アルゴリズムを正しく理解しているかどうかはわかりません。これは私のコードです:
public class TestFletcher {
public static void main(String[] argv) {
String bin = "10010010101111101110101101110011";
char[] cA = bin.toCharArray();
int ckA = 0, ckB = 0;
for (int i = 0; i < cA.length; i++){
ckA += Integer.valueOf(cA[i])/49;
ckB += ckA;
}
System.out.println(ckA);
System.out.println(ckB);
}
私が得ている結果は次のとおりです。ckA = 20、ckB = 308。308 は ckA と ckB の長さである 8 ビット バイナリで表すことができないため、これは正しい実装ではないと思います。
誰でもこの問題に光を当てることができますか? 任意の助けをいただければ幸いです。ありがとうございました。