Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2010, 21:39   #1
fogmistery
Новичок
Джуниор
 
Регистрация: 28.12.2009
Сообщений: 1
По умолчанию Бит чётности

Есть массив структур. Необходимо для каждого байта информации добавить бит чётности + проверка целостности с его помощью.
Где почитать информацию? Или может кто-нибудь покажет хотя бы простенький алгоритм? Теоретически понятно, а как реализовать не поняла(((
Заранее спасибо
fogmistery вне форума Ответить с цитированием
Старый 02.01.2010, 22:58   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

это делается достаточно просто использованием любой проверки CRC... как пример приведу контроль пакета используемый в Modbus протоколе...
Код:
unsigned int CRC(unsigned int *lMessage, unsigned char lCount){
 unsigned int data;
 unsigned char lBits,lCnt;
 data = 0xFFFF; 
 for(lCnt=0;lCnt<lCount;lCnt++){
  data^=lMessage[lCnt]; 
  for(lBits=0;lBits<8;lBits++){ //repeat 8
   if (data & 0x0001){
    data>>=1;
    data^=0xA001; 
   }
   else data >>=1; 
  }
 }
 return (data); 
}
если конкретно, то спецификацию Modicon Modbus Protocol. Reference Guide. PI-MBUS-300 Rev.J

...про конкретные применения данного решения прилагаю статьи (см. вложения), подробно про алгоритм с контролем четности и целостности в номере-9, с.47-48
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 03.01.2010 в 17:50.
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как установить i-й бит целого числа qwerty09 Общие вопросы C/C++ 4 09.07.2009 00:20
Проверка чётности числа Antoha79 Помощь студентам 3 23.05.2009 12:58
Задача на бит-реверсивное преобразование Ser Помощь студентам 2 16.03.2009 10:55
выделить бит odi_noki Паскаль, Turbo Pascal, PascalABC.NET 10 15.10.2008 00:43
1 байт 9 бит ?! Иллидан Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 13.04.2008 12:47