![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#131 |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 432
|
![]()
Нет BDA checksum 8 получается и только, в разных вариантах, что byte, что word без разницы всё ровно только checksum 8, а checksum 16 не получается. Я набросал специально отдельную и всё ровно не выходит. Что то с функцией не так.
Последний раз редактировалось sergey.serg-72; 22.11.2021 в 01:34. |
![]() |
![]() |
![]() |
#132 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,428
|
![]()
С этим был не прав. Там задается минимальная длина числа, но не обрезает данные, если они есть.
Какого типа переменная crc? С какими редакторами сравниваете сумму?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#133 |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 432
|
![]()
Тритон редактор и он правильно считает, есть файлы с контролкой checksum8 и 16 и они совпадают с тритоном, в HxD не верно подсчитывают. Я на тритона ориентируюсь.
crc := Word; как и было. В тритоне Checksum_8 без байта исключения = 1950, с байтом исключения 1942 Checksum16 без байта исключения = 5DFF, с байтом исключения =0DAA , в данном случае интересует алгоритм тритона, так как по Checksum он совпадает с имеющимися прошивами и алгоритмами, а HxD не верно делает. |
![]() |
![]() |
![]() |
#134 |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 432
|
![]()
архив фото
|
![]() |
![]() |
![]() |
#135 |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 432
|
![]()
Вот BDA, набросал , всё совпадает с редактором тритона и так надо и хотелось бы, а не как в HxD
Правда без функций и введения адреса и исключения байта. Считает файл полностью и как надо. Попробуйте тестовый файл и будет нужная сумма., какая нужна. А HxD ерунду считает, это неправильно. Вот различия: A: array of byte; // 8 A: array of Word; // 16 A: array of longword; // 32 Последний раз редактировалось sergey.serg-72; 22.11.2021 в 02:52. |
![]() |
![]() |
![]() |
#136 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,428
|
![]()
Ну да, они меняют размер самой суммы (1, 2, 4 байта), но складывают побайтово во всех случаях.
Без байта исключения при sum-16 тритон захватывает и 0x69 при подсчете, а не только выделенные данные (т.к. в случае sum-16 можно обрабатывать только четное количество байтов).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#137 | |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 432
|
![]() Цитата:
В первом варианте (8) по байтова считается 1 байт+ байт и так до конца. Во втором случаи по 2 байта, к двум байтам прибавляются следующие два байта и так до конца. В третьем случае по 4 байта берётся и прибавляется к следующим четырём и так до конца. По этому и называются 8,16 и 32. так и должно быть пересчитал. присланные мне файлы , все правильно подсчитываются значит верный алгоритм. Вот такие алгоритмы и нужны к общей. с возможностью исключения 1. 2 байт и выбор адреса , всё , Как и на CRC. У меня не получается ни как с исключением байт и выбор адреса, пытаюсь функцию придумать под 8.16 и 32 . не получается. А просто подсчитать целый файл получается. |
|
![]() |
![]() |
![]() |
#138 | |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 432
|
![]() Цитата:
Вот такие алгоритмы и нужны, чтоб три функции бы и вообще классно !!! Вот подправил. ![]() Последний раз редактировалось sergey.serg-72; 22.11.2021 в 04:32. |
|
![]() |
![]() |
![]() |
#139 |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 432
|
![]()
BDA, приветствую Вас ! сегодня посидел над Checksum, ввёл возможность подсчёта с выбора адреса, к примеру с 0 по $100 и.т.д всё отлично подсчитывает и быстро.
Не получается ни как сделать , к моему коду возможность исключать байт, или два, как в CRC мы делали. Что то не получается, сижу третий час, но пока не выходит. Может функцию надо писать, или можно без функции обойтись? Всё отлично, но не хватает сделать исключение для байта, двух в коде. Посмотрите код, подскажите, как байты исключения в код включить. Код:
|
![]() |
![]() |
![]() |
#140 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,428
|
![]() Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Opendialog завис | DimOn4Ik | Общие вопросы Delphi | 12 | 02.11.2018 16:08 |
Реализация суммы в простом варианте. | Mariolka | PHP | 8 | 10.11.2016 15:50 |
С++ сортировка в текстовом файле. (Задание на курсовик никак не получается) | Evg888 | Помощь студентам | 1 | 02.06.2012 19:37 |
Житейская задачка о простом копировании | mephist | Помощь студентам | 11 | 16.05.2009 20:42 |