Как этот результат может быть нулем?
Контрольная сумма предположительно представлена байтом .
Байт может хранить 256 различных значений, поэтому вычисление, вероятно, выполнено Модуль 256 .
Поскольку 0x12 + 0x01 + 0xED = 256, результат становится равным 0.
как определить контрольную сумму?
Контрольная сумма - это конкретное значение байта B
, которое составляет сумму байтов в сообщении + B
= 0 (по модулю 256).
Итак, как говорит @LanceH в комментарии, чтобы выяснить контрольную сумму B
, вы ...
- сложить значения байтов в сообщении (скажем, это добавляет до
M
)
- вычислить
M' = M % 256
- Теперь контрольная сумма
B
вычисляется как 256 - M'
.