Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
А если так? 06.03.02 12:57 Число просмотров: 906
Автор: Zef <Alloo Zef> Статус: Elderman
|
for(i = 0; i < 588; i += 4)
{//подсчитываем кол-во единиц в каждом разряде
code = *((unsigned int*)&buff[i]);
for(j = 0; j < 32; j++)
{
if(code >= 0x8000)
crc[j]++;
code <<= 1;
}
}
for(i = 0; i < 32; i++)
{//округляем к ближайшему на2 разряда
//"остатки" от округления суммируем
//и так же округляем, чтобы не пропустить
//больше 3х ошибок в разных разрядах
c = crc[i] & 0x03;
crc[32] += c;
crc[i] >>= 1;
if(c > 2)
crc[i]++;
}
if(crc[32] & 0x03 > 2)
crc[32] += 4;
crc[32] >>= 1;
//получили сигнатуру из 33 слов, которые можно
//дальше еще"сжать"
|
|
|