Как рассчитать 16-битную контрольную сумму из 5-байтовых данных?
Например:
Byte number: 1 2 3 4 5
Value: 12 00 01 00 A0
Я перевел все значения в их двоичный формат и попытался выполнить расчет, но я не уверен, что мой ответ правильный.
12 = 0001 0010
00 = 0000 0000
01 = 0000 0001
00 = 0000 0000
A0 = 1010 0000
Расчет:
0001 0010 0000 0000
0000 0001 0000 0000
1010 0000 0000 0000
-------------------
1011 0011 0000 0000 (sum)
0100 1100 1111 1111 (checksum)
4 C F F
Мой ответ правильный? Я не уверен насчет третьей строки в моем расчете, так как данные только 5 байтов.
Редактировать: я пытаюсь сделать контрольную сумму в Интернете (для сегмента TCP / UDP).