Фон:
У меня есть раздел памяти, 1024 байта. Последние 1020 байт всегда будут одинаковыми. Первые 4 байта будут меняться (серийный номер продукта). Мне нужно вычислить CRC-16
CCITT
(запуск 0xFFFF, маска 0x1021) для всего раздела памяти, CRC_WHOLE
.
Вопрос:
Можно ли вычислить CRC только для первых 4 байтов, CRC_A
, а затем применить функцию, такую как приведенная ниже, для вычисления полного CRC? Мы можем предположить, что контрольная сумма для последних 1020 байт, CRC_B
, уже известна.
CRC_WHOLE = XOR(CRC_A, CRC_B)
Я знаю, что эта формула не работает (попробовала), но я надеюсь, что что-то подобное существует.