Приветствую всех участников данного форума,в этой статье рассказываться о алгоритме генерирования байтов из уже существующих байтов,в основе данного лежит некая форма оптимизации,то есть что бы создать что-то новое нужно тратить ресурсы,а зачем тратить новые ресурсы если ресурсом для создания может являться то что уже существует.И так,как вы знаете что байт состоит из 8 бит,то есть байт это массив из битов фиксированный длинны,этот массив вполне возможно разделить на составные его части,после чего используя его составные части(в данном случае это биты)можно создать новый массив причём элементы этого массива могут находится в любой последовательности,это совсем иная последовательность бит и соответвенно будет совсем другой байт,давайте рассмотрим как это будет реализовано к примеру имеется 4 байта то есть это 4 битовых массива,из каждого массива будем брать по 2 бита,при этом позиция с которой будут взяты эти 2 бита может быть выбрана случайно или намеренно,если намеренно то с рассчётом на получение заданной битовой последовательности,после того как были выбраны эти биты их нужно упаковывать,в конечном итоге мы имеем байт и котором последовательность битов идёт так как нужном нам. Cхема которая демонстрирует процесс генерации байта --- Сообщение объединено, 16 окт 2020 --- Вот решил попробывать себя в написании статьи
Что-то не уловил поток мысли, а зачем это нужно ? Ну-да из битов можно составить байт, а дальше что ?
Что-то навеяло про сжатие на батниках. Какие ресурсы ты не потратишь, составляя из определенных бит одних байтов другие? Чем сдвигоксоры некоторых простеньких ГПСЧ хуже? ЗЫ: а, слово "оптимизация" увидел. Ну в некоторых частных случаях ты наверное можешь что-то подобное применить, но как-то очень сомнительна ценность этих изысканий в общем случае. Есть маленький нюансик, который заключается в том, что каждый байтик твоего кода тоже не на помойке найден, а их там немало выйдет, если срезать по 2 бита с четырех байт и компоновать в новый, всяко больше 1 байта.
не спорю,это всего лишь пробная статья --- Сообщение объединено, 16 окт 2020 --- это пробная статья, тут просто море недоработок и ошибок
Entropy , спасибо за начинания! не в обиду, но почти все начинания (мотивация) обратно пропорциональны, увы, познаниям проблема - как сжимая данные, уменьшить объем информации (энтропию), но так, чтобы можно было это еще и разжать обратно в том же виде (без потерь) (пример - размер текста можно уменьшить, убрав из него все пробелы, но назад не разожмешь) мне в свое время пришло на ум разложение на множители (тупейшим образом) https://ewoke.livejournal.com/tag/lolpack , но не получилось такое сделать, чтобы закодированные (преобразованные, сжатые) данные стали меньше, чем источник (меж тем, методы факторизации изобретали 400 лет назад, не имея ничего из того, чем располагает современный человек) гляньте Википедию алгоритмы сжатия данных без потерь, чтобы не изобретать велосипед, также http://compression.ru/ "архиватор Бабушкина" -также имеет смысл ознакомиться есть мысли с созданием "словарей" из массивов данных, которые нельзя закодировать имеющимися алго, и далее в архиве помечать блоки данных как "слова" из этого "словаря" но размер такого словаря будет стремиться к огромным величинам Aoizora, у них на компрешн.ру конкурс! вот и скажи, что "математика" сейчас никому не нужна.
Entropy, Ты тупо перемещаешь биты, те криптуешь битовый массив. Это не оптимизация, размер его не уменьшается(не сжатие). Обычный ксор не годится ?
TermoSINteZ, ТС сам не понимает что спрашивает, это тупо перестановка, бит скрин в шапке. По сути же он нуби просто узнал про криптование и по этой причине написал. Удивился от возможности крипты, перемещений бит отображений. Так как он не понимает, то соответственно и все. В начале нужно сформулировать задачу. Есчо и стиль изложения важен, нельзя так писать всё в кучу одним текстом, никто это читать не будет.
вы не правильно меня поняли,то что я здесь опубликовал не какого отношения к сжатию и криптографии не имеет,я просто рассматриваю уже существующие байты(они могут найдены где угодно,например в физической оперативной памяти),как поставщики битов для создания нового одного байта,что весьма затратно так это что на создание одного байта уходит 4 байта,а вот здесь не мешало бы оптимизировать Когда я говорил я имел ввиду прежде всего создание байта из уже существующих байтов,не о каком сжатии или криптографии здесь речи нет. Насколько я понимаю если требуется что-то спросить то задают вопрос,а я вопроса не задал --- Сообщение объединено, 17 окт 2020 --- приму к сведению
f13nd, Это вы выдумали сами про сжатие. Читаете между строк видимо. переделать из > то есть что бы создать что-то новое нужно тратить ресурсы,а зачем тратить новые ресурсы если ресурсом для создания может являться то что уже существует вот это > он говорит об уменьшении избыточности данных. Это сильно
TermoSINteZ, Я тоже думал про сжатие, тк упомянута оптимизация", не по времени, а статик. Впрочем какая разница это поток не понятных мыслей тс. Если он не понимает что ему нужно, задачу то уже никто не поймёт.
так то, это создание словаря. для текстовых файлов такое на ура должно "зайти". если есть желание еще поломать мозг, вот https://fgiesen.wordpress.com/2011/01/24/x86-code-compression-in-kkrunchy/ интересно https://ru.wikipedia.org/wiki/PAQ , ценой расхода овердофига времени и ОЗУ, добиваемся превосходного результата
сам автор статьи(перевода) собственной персоной, а ещё некоторые возбухали: кому нужна эта статья? аккаунт на вики утерян, больше не пишу...
Я это сразу смекнул.) Как понял автор хотел сгенерить число из одного байта, имеея массив из четырёх байт. Типо у нас уже есть какие-то числа почему их не использовать ? В целом это можно использовать для генерации какого-то псевдо-случайного числа, или что хотел автор непонятно ?) Тут можно что-угодно придумать, это как квадрат Малевича.)))
См. процедуру расширения ключа из алгоритма AES. Или любой другой рекуррентный ГПСЧ. Чем и является предложение топикстартера, только очень слабым.