Вверх ↑
Ответов: 197
Рейтинг: 2
#1: 2020-02-26 16:39:10 ЛС | профиль | цитата
поробую обьяснить еще раз.
Например первый файл у нас размером 1мб. в нем нужно найти последоватьльность байт взятых со второго файла размером 128кб.
первый цикл.
например выставляем значение 5 байт. программа берет первыые 5 байт со второго файла и ищет последовательность этих байт в первом файле. например результат поиска ничего не дал.
Берет следующие 5 байт во втором файле и также ищет совпадениес первым файлом начиная с первого байта. опять ничего поиск не дал.
потом снова берет следующие 5 байт со втрого файла и снова ищет совпадение с первым файлом.
например в течении первого цикла результата не дало делаем второй цикл
второй цикл
программа берет 5 байт со второго файла и ищет последовательность этих байт в первом файле но только теперь со сдвигом в 1 байт(тоесть берет 5 байт начиная со второго байта) например поиск ничего не дал
Берет следующие 5 байт во втором файле и также ищет совпадениес первым файлом начиная с первого байта. опять ничего поиск не дал.
потом снова берет следующие 5 байт со втрого файла и снова ищет совпадение с первым файлом.
и так делается пока все байты второго файла будут полностью проверены.
например в течении второго цикла результата не дало делаем третий цикл
третий цикл
программа берет 5 байт со второго файла и ищет последовательность этих байт в первом файле но только теперь со сдвигом в 1 байт(тоесть берет 5 байт начиная с третьего байта
Берет следующие 5 байт во втором файле и также ищет совпадениес первым файлом начиная с первого байта. опять ничего поиск не дал.
потом снова берет следующие 5 байт со втрого файла и снова ищет совпадение с первым файлом.
и так делается пока все байты второго файла будут полностью проверены.
найденые последовательности вывести в таблицу которая в себе содержит адрес и последовательность байт
желательно Каждая таблица для своего файла.
итак делается пока все байты второго файла будут полностью проверены.

искомые пять байт могут быть произвольно настраиваемые то есть могут быть и четыре байта и два байта и семь байт вообщем любое количество байт.

--- Добавлено в 2020-02-26 16:44:35

Rysik писал(а):
нагружать можно весь процессор, 1 длинна байт на 1 поток, и так в несколько потоков, дабы на 100% загрузить процессор

загрузка на проц думаю не принципиално.
чаще всего будет случаться поиск и нахождение без сдвига но если вдруг не нашлось то сдвиг нужен.
карма: 0

0
Редактировалось 2 раз(а), последний 2020-02-26 16:48:36