Что такое работающий CRC? - PullRequest
4 голосов
/ 08 июня 2009

Я искал и не могу найти информацию о том, что это такое и как оно вычисляется.


Понятия не имею, почему за этот вопрос проголосовали отрицательно. Разве это не понятно и программирование связано? Или я должен был спросить:

# Or you can compute the running CRC:
$crc = 0;
$crc = Archive::Zip::computeCRC32( 'abcdef', $crc );
$crc = Archive::Zip::computeCRC32( 'ghijkl', $crc );

Что именно здесь происходит?

1 Ответ

8 голосов
/ 08 июня 2009

Ну, в основном это просто CRC . Слово бегущий будет означать, что вы должны рассчитывать его на лету, когда поступают данные, или что вы делаете кумулятивный расчет (именно так реализован CRC).

У вас есть хороший пример:

  # Or you can compute the running CRC:
  $crc = 0;
  $crc = Archive::Zip::computeCRC32( 'abcdef', $crc );
  $crc = Archive::Zip::computeCRC32( 'ghijkl', $crc );

Обратите внимание, как переменная $crc установлена ​​в 0 в начале, а обновленный дважды . Алгоритм расчета CRC использует предварительно рассчитанное значение CRC и обновляет it. Вот почему его иногда называют с запущенным CRC .

Из вашего кода я предполагаю, что у вас уже есть реализация, если нет, просто Google для CRC32.

...