Я пытаюсь вычислить простую контрольную сумму, а затем я делаю контрольную сумму.Не удалось правильно сформировать контрольную сумму
public void readfile()
{
byte counter = 0;
byte[] data = new byte[68];
while(x.hasNextInt())
{
data[counter++] = (byte)x.nextInt();
if(counter == 67)
break;
}
int sum = 0;
for (int i = 0; i < 67; i++)
sum += (data[i] & 0xFF);
System.out.println((int)(sum & 0xFF)); //checksum
//perform checksum test.
data[counter] = (byte)(sum & 0xFF);
sum = 0;
for (int i = 0; i < 68; i++)
sum += (data[i] & 0xFF);
System.out.println((int)(sum & 0xFF)); //checksum test
}
Я читаю первые 67 целых значений файла и сохраняю их в массиве байтов. Все целые числа: < 256. Переменная 'x' - это файл, который я читаю. Однако, когда я выполняю тест контрольной суммы, выводимое значение не равно 0. Я не могу диагностировать, где я неправильно вычисляю.
Спасибо, что исправил проблему! –