Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2017.03.19;
Скачать: CL | DM;

Вниз

Посчитать 32-bit CRC   Найти похожие ветки [V.42 МККТТ]

 
Платинум   (2015-07-11 03:29) [0]

Есть массив байт. Необходимо вычислить 32-bit CRC:

> polynomial: x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
> After all the data bytes are processed, the CRC is inverted

Находил примеры всякие, но видимо считает не так как нужно. Программа в которой тоже есть массив и куда я "отправляю" посчитанный Cardinal говорит что это не верно, не соответствует массиву.


 
Rouse_ ©   (2015-07-11 10:49) [1]

Покажи какой вариант кода не работает, и кстати, что за программа?


 
DVM ©   (2015-07-11 11:19) [2]


> Платинум   (11.07.15 03:29) 

https://yadi.sk/d/PQG-3pQWhoQdE

Тут смотри, твой полином $EDB88320


 
Rouse_ ©   (2015-07-11 15:51) [3]


> DVM ©   (11.07.15 11:19) [2]
> Тут смотри, твой полином $EDB88320

А, так этож POSIX, тогда автору нужно учитывать реверсирование после рассчета:

unsigned reverse(unsigned x) {
  x = ((x & 0x55555555) <<  1) | ((x >>  1) & 0x55555555);
  x = ((x & 0x33333333) <<  2) | ((x >>  2) & 0x33333333);
  x = ((x & 0x0F0F0F0F) <<  4) | ((x >>  4) & 0x0F0F0F0F);
  x = (x << 24) | ((x & 0xFF00) << 8) |
      ((x >> 8) & 0xFF00) | (x >> 24);
  return x;
}


 
Rouse_ ©   (2015-07-11 16:32) [4]


> DVM ©   (11.07.15 11:19) [2]

Дима - зараза, ты у меня шапку модуля свистнул, это я ее в таком виде первый стал делать :)))


 
DVM ©   (2015-07-11 19:33) [5]


> Rouse_ ©   (11.07.15 16:32) [4]

Так и есть :)


 
Rouse_ ©   (2015-07-11 20:34) [6]

Я просто скачал, смотрю - шапка моя.
Читаю - код не мой, думаю что за фигня :)


 
DVM ©   (2015-07-11 20:41) [7]


> Rouse_ ©   (11.07.15 20:34) [6]

Да я этот вид шапки перенял у тебя уже лет 5-7 назад, просто понравилась на тот момент, а теперь она уже автоматом вставляется CnPack при создании модуля.


 
Rouse_ ©   (2015-07-11 21:22) [8]

Да не вопрос, действительно удобная, просто не привычно :)



Страницы: 1 вся ветка

Текущий архив: 2017.03.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.005 c
15-1458927964
эндсоувот
2016-03-25 20:46
2017.03.19
???


1-1329604920
Almaz
2012-02-19 02:42
2017.03.19
Запуск программы из сервиса с правами администратора


1-1348636173
Дмитрий Белькевич
2012-09-26 09:09
2017.03.19
Как включить scroollbars у TShellTreeView?


2-1436168887
Арт
2015-07-06 10:48
2017.03.19
Вопрос по базе Access


2-1436574544
Платинум
2015-07-11 03:29
2017.03.19
Посчитать 32-bit CRC