ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 июля
96649 Топик полностью
ReAl (09.08.2007 10:41, просмотров: 1) ответил Argon на Это не так страшно, если держать таблицу в ОЗУ, процедура пересчета - 3-4 строчки.
Кстати, а для CRC32 есть "убыстрённые" алгоритмы - как для CRC16, или они выходят слишком задумчивые и теряют смысл? В духе: <c> uint16_t crc_ccitt_update (uint16_t crc, uint8_t data) { data ^= lo8 (crc); data ^= data << 4; return ((((uint16_t)data << 8) | hi8 (crc)) ^ (uint8_t)(data >> 4) ^ ((uint16_t)data << 3)); } </c> И битового цикла нет - быстрее, и таблицы в 512 байт - компактно.