28.12.2011, 12:58
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от Nekromancer
|
Так что байт в первую очередь это байт, ну как бы логично.
|
байт это объём информации содержащий 8 бит.-и задача сократить количество байт хранящих этот объём информации.
можно ли сократить количество байт хранящих информацию(запаковка/распаковка) без изменения количества информации -да.архиваторы явный пример. в вопросе была фраза упаковка распаковка. Пример документ вёрд- упакованный/распакованный -разница более чем в два раза
если речь не идёт о 2х конкретных байтах,да и то нужно смотреть возможно или нет
если каждый из байт содержит число до 127-то возможно
если любой число от 128 до 255-то не возможно
дай однозначный ответ исходя из этого-возможно или нет?
Последний раз редактировалось dmitriymar, 28.12.2011 в 13:14.
|
|
28.12.2011, 13:14
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
dmitriymar,
Ну вот и вы дошли до упоминания бит. А если у меня занято уже 9 бит из 16ти, то видимо нельзя запаковать, да?
Вообще, что бы упаковать, именно упаковывать как в ахриваторе, нужен специальный алгоритм, который будет всё разбирать и собирать по определённым правилам. В итоге этот аглоритм каждый раз работает не с 2мя байтами, а он ищет во всех входных данных возможность сократить количество используемых байт по средствам замены бит. В нашем же случае упаковать в байт можно только те самые, заветные 8 бит, ну то есть собственно 1 байт.
Было бы у нас в распоряжении хотя 100 байт, можно было бы тогда говорить о каком то алгоритме сжатия.
Отвечая на последний ваш вопрос:
2 байта однозначно упаковать в один невозможно. Возможно упаковать 8 любых бит их этих байт 2х байт. Так как по определению - байт, это 8 произвольных бит, состоящих из единиц и нулей, то в один байт можно упаковать только один байт.
Так доказываются теоремы в математике.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
28.12.2011, 13:25
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от Nekromancer
|
Так доказываются теоремы в математике.
|
Явно полез в дебри.
Тем более веб,когда мы знаем что придёт на наш запрос и как работать с этой информацией,Сами задаём форматы,правила.Там где возможны варианты ,однозначности быть не может. Точнее,однозначно будет то,что если правильно задали параметры для задачи и решение согласно этим параметрам-то однозначно получим правильный результат и однозначно будет выигрыш в чём то(зависит не велосипед ли изобретаем,ну и от степени сумашествия гения)
Последний раз редактировалось dmitriymar, 28.12.2011 в 13:33.
|
|
28.12.2011, 13:44
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Всем привет) Немного почитал тему, и увидел, что речь в ней идет об архиваторах. Как именно работают их алгоритмы мне не известно, но согласно этой статье LZMA и этому разъяснению Метод сжатия с использованием словаря.
Иными словами, это
Сообщение от Kolyaj
|
упаковать два байта в один с возможностью дальнейшей распаковки
|
просто не возможно.
Еще можно вспомнить про хеширование, но оно не позволит решить вышеупомянутую задачу.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Последний раз редактировалось nerv_, 28.12.2011 в 13:47.
|
|
28.12.2011, 13:53
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Архиваторы умеют архивировать только какое-то подмножество данных. Для любого архиватора можно найти последовательность произвольной длины, которую он не сможет сжать. Т.е. в общем случае сжать два байта в один нельзя. Частное решение именно для двух байт можно было бы послушать, я пока не вижу. Три упаковать в два легче.
|
|
28.12.2011, 14:01
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от nerv_
|
Немного почитал тему, и увидел, что речь в ней идет об архиваторах
|
об архиваторах речь не идёт. поскольку изначально ясно что если паковать н байтов ,то колимество будет m(количество после пакования)+1 указывающий что упаковку-в лучшем случае.
речь идёт о вебе,где можно создать изначально структуру и изначально знать что в ней без доп байт,что в большинстве случаев реализуемо и в этом случае можем получить вместо 2 х байт 1 и распаковать их назад без последствий.поэтому применительно к веб нет ответа однозначного
|
|
28.12.2011, 14:01
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от Kolyaj
|
Для любого архиватора можно найти последовательность произвольной длины, которую он не сможет сжать.
|
также можно найти последовательность какую он сожмёт не в 2 раза а в 15 и более
|
|
28.12.2011, 14:11
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от Kolyaj
|
Частное решение именно для двух байт можно было бы послушать
|
Сообщение от dmitriymar
|
в этом случае можем получить вместо 2 х байт 1 и распаковать их назад без последствий
|
dmitriymar, так расскажи нам скорее
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
|
|
28.12.2011, 14:15
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от B~Vladi
|
dmitriymar, так расскажи нам скорее
|
Я не читал первую страницу этой темы.
глянь там ранее. ты когда делаешь аякс запрос и знаешь что придёт текст -ничего не мешает его соответствующе упаковать на сервере и распаковать на клиенте.XHR2 позволяет. вопрос сколько ресов сожрёт
Сообщение от Kolyaj
|
Частное решение именно для двух байт можно было бы послушать, я пока не вижу. Три упаковать в два легче.
|
посмотри там выше -для текста -с 2х байт утф8 получаем один -если речь идёт об использовании текстовой информации на 2х языках,при условии что мы знаем какие это языки и ограничиваем набор символов-в пределах разумного
конечно,частично повторяет принцип утф8 с латиницей,но в варианте с русским сокращает объём,да и чарсет у страницы остаётся утф-8-что в плюс.
Последний раз редактировалось dmitriymar, 28.12.2011 в 14:26.
|
|
28.12.2011, 14:21
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
dmitriymar,
а как распаковать?
Кстати можно при желании и в первом лвле, но всё вопрос.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
|
|