Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2017.03.19;
Скачать: [xml.tar.bz2];

Вниз

Посчитать 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.001 c
2-1436212529
Дмитрий С
2015-07-06 22:55
2017.03.19
Сравнение Double


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


15-1458927964
эндсоувот
2016-03-25 20:46
2017.03.19
???


2-1436292854
vadim83
2015-07-07 21:14
2017.03.19
Вопрос по CenteredRect


2-1435930281
Степанов Михаил В.
2015-07-03 16:31
2017.03.19
Ошибка структуры БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский