реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Как дополнить данные до нулевой CRC?
jcxz
сообщение May 17 2018, 10:18
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 5 211
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(ViKo @ May 17 2018, 13:14) *
А чем ваша операция лучше? CRC все равно нужно хранить. Так почему бы не хранить ее такой, что при проверке структуры вместе с CRC получится 0? Небось, на ноль проверять приятнее.

Может и приятнее, но тратить кучу своего времени на поиски методов вычисления ради такой ерунды как экономия пары байт на сравнении с 0 я бы не стал.
Ну только если уж совсем заняться нечем biggrin.gif
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 17 2018, 10:23
Сообщение #17


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 625
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(jcxz @ May 17 2018, 13:18) *
Может и приятнее, но тратить кучу своего времени на поиски методов вычисления ради такой ерунды как экономия пары байт на сравнении с 0 я бы не стал.
Ну только если уж совсем заняться нечем biggrin.gif

Учили в школе, что данные, дополненные их же CRC, в результате дают 0. Автоматом. Тут не нужно тратить никакую кучу. Но эти манипуляции с перестановкой и инверсией битов потребовали день экспериментов. Все, вопрос решен окончательно. rolleyes.gif
Go to the top of the page
 
+Quote Post
toweroff
сообщение May 17 2018, 14:58
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 954
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(mcheb @ May 17 2018, 11:15) *
А поподробней можно?

Что именно?
Go to the top of the page
 
+Quote Post
k155la3
сообщение May 18 2018, 08:45
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 115
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(jcxz @ May 17 2018, 13:13) *
Ничего не понял.... Почему не . . .
При приеме "битового" потока (фрейм из канала связи или например с дискового накопителя), параллельно с заполнением буфера идет подсчет в сдвиговом регистре CRC. Для контроля целостности пакета достаточно после прихода фрейма проверить содержимое рег.CRC на 0x0000. (тк фрейм "закрывается" байтами-битами CRC).
Соотв-но нет никаких доп. операций копирования, сравнения итп. (проверка на 0 выполняется в любом случае быстрее).
ps - Это имеет смысл только для скоростной аппаратной реализации.
Go to the top of the page
 
+Quote Post
Serge V Iz
сообщение May 21 2018, 06:52
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 3-05-18
Пользователь №: 103 639



Да и в программной меньше букв писать.

Только если выходная добавленная к сообщению CRC инвертируется, в результате получается не ноль, а CRC(0xffffffff). Которая, впрочем, тоже константа, ничем не хуже 0 )
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th September 2018 - 02:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.00989 секунд с 7
ELECTRONIX ©2004-2016