Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CRC-8, расчет 
:(
    Опции темы
LuLok
Дата 19.2.2007, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 6.2.2007
Где: Москва

Репутация: нет
Всего: 1



я реализовал CRC8 вот так:

Код

void __fastcall TForm1::FormCreate(TObject *Sender)
{
   BYTE mass[] = {0x03,0x5b, 0};
   BYTE poly = 0x98;

   int N = (sizeof(mass) / sizeof(mass[0]));
   BYTE reg = 0;
   for (int i = 0; i < N; i++)
      {
      for(int j = 0; j < 8; j++)
         {

         if (reg & 0x80)
            {

            reg = reg ^ poly;

            }

         reg <<= 1;
        
         if (mass[i] & (0x80 >> j))
            reg = reg | 0x01;

         } 
      }
}


Если верить книжке Ross N. Williams. "Элементарное руководство по CRC-алгоритмам обнаружения ошибок", то считает правильно...

Это сообщение отредактировал(а) LuLok - 19.2.2007, 15:28
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1748 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.