Форум программистов, компьютерный форум CyberForum.ru

Расчет CRC-16 c Revert: true - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В массиве, все элементы которого различны, найти и удалить n наименьших элементов, «поджимая» массив к началу и сохраняя порядок следования http://www.cyberforum.ru/cpp-beginners/thread1093219.html
В массиве, все элементы которого различны, найти и удалить n наименьших элементов, «поджимая» массив к началу и сохраняя порядок следования
C++ Разработать шаблон класса реализующего работу с матрицами переменной размерности. Разработать шаблон класса реализующего работу с матрицами переменной размерности. Тип эле- мента задается как параметр шаблона. Написать тестовую программу. Помогите пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread1093210.html
Объясните значение записей C++
забыл как интерпретируются записи: if(ex) , if(!ex) и if!(ex) Добавлено через 41 минуту up!
Написать программу решения уравнения C++
X (x+a) (x+b) (x+a+b) =c написать программу решения этого уравнения.
C++ Массив объектов в конструкторе другого класса http://www.cyberforum.ru/cpp-beginners/thread1093181.html
есть класс A: class A{ public: double *weights; A() { } A(int a) {
C++ Массив. Вывести на экран числа имеющие 2 одинаковые цифры Доброе время суток ГУРУ, профи, и прогеры. В массив вводять 4-х значьные числа, надо вывести на экран числа имеющие 2 одинаковые цифры. подробнее

Показать сообщение отдельно
Mihail Samohval
5 / 5 / 1
Регистрация: 06.06.2013
Сообщений: 23
11.02.2014, 10:13     Расчет CRC-16 c Revert: true
Добрый день. Прошу помочи с такой проблемой: сделал быстрый (т.е. с таблицей) расчет CRC для полинома 0х1021. Считает верно.
Теперь пытаюсь сделать для полинома 0х8005, и не получается ввиду того, что не могу понять, что такое Revert: true.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
unsigned short crctable[256] = {0};
unsigned short MakeCRC16Table(void)
{
 int r = 0xFFFF;
  for(unsigned short i=0; i<256; i++)
   {
    r = (i)<<8;
     for(int j=0; j<8; j++)
       {
        if(r&(1<<15)) r=(r<<1)^0x8005;
        else r=r<<1;
       }
     crctable[i]=r; 
   }
}
 
 
int main(int argc, char *argv[])
{
    MakeCRC16Table();
    for (int i = 0; i<256; i++){
        if ((i%5)==0) cout<<endl;       printf("    %x", crctable[i]);}
    getchar();
    return 0;
}
Я так понимаю, что Revert:true означает, что надо проверять на "1" не старший бит, а младший. Попробовал сдвигать в другую сторону - все равно не совпадает с вики.
Подскажите, в чем проблема!

Добавлено через 31 минуту
Ничего не нашел в гугле на эту тему.

Добавлено через 3 часа 30 минут
ап!

Добавлено через 18 часов 22 минуты
ап.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru