ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 июля
1041969 Топик полностью
SciFi (03.10.2020 23:10, просмотров: 531) ответил Aleksey_75 на была такая мысль , вот SciFi выше ссылку подкинул где используется вычисление значения для нужного значения DR, я пока сильно не вникал, но чтот подсказывает что накладные расходы на расчет значения похерят все плюшки аппаратного crc
Там цикл на 32 итерации. Наверняка это можно привести к табличной форме, но, увы, лень одолела: 
DWORD Crc32Rev(DWORD CurrentCrc, DWORD DesiredCrc)
{
  DWORD Data;
  int i;
  for(i=0; i<32; i++)
    if (DesiredCrc & 0x00000001)
#if 1
      DesiredCrc = ((DesiredCrc ^ 0x04C11DB7) >> 1) | 0x80000000; // Long form
#else   // or
      DesiredCrc = (DesiredCrc >> 1) ^ 0x82608EDB; // Back feeding polynomial
#endif
    else
      DesiredCrc = (DesiredCrc >> 1);
 
  Data = DesiredCrc ^ CurrentCrc;
  return(Data); // Data Pattern to get Desired CRC from Current CRC
}
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้