
Другие языки программирования и технологии
Почему не сжать двоичный код?
к примеру ведь цифра (1) = 00110001 дак почему архиватор не сделать и сократить его? там же можно его сократитить до самого минимума и останется лишь знать систему расшифровки, но при передачи он же будет опять считаться двоичным или нет я чето запутался

Если ты про замену определённых символов на битовое представление по определённому словарю на основе двоичного дерева - то это алгоритм Хаффмана, но он эффективен только в случае, когда частоты определённых символов в тексте сильно превышают частоты других символов (например, в случае текста, где во-первых, алфавит слишком ограничен, а во-вторых, одни буквы встречаются намного чаще других). Если же файл обладает высокой энтропией и определённые байты там встречаются относительно равновероятно - то мы скорее всего получим такой вариант префиксного дерева, в котором каждый байт будет всё равно кодироваться 8 битами, что нам не даст выигрыша, но мы проиграем засчёт необходимости хранения самого дерева.
.mihel.
думаеш это не реально?
аааа. Герхард вернулся
.mihel.
да иди спи брат)))
Сжатие передаваемых по сети данных являются частью стандарта HTTP. Обычно, для этого используются вариации gzip. Если браузер сообщает серверу, что он умеет принимать сжатые данные, сервер может отправить браузеру сжатый контент. Это умеют и Apache2, и Nginx.
Подробности: https://habr.com/ru/post/221849/
Подробности: https://habr.com/ru/post/221849/
Архиваторы уже придумали и ими успешно пользуются. Ты опоздал.
нет смысла
...


Потому что
.mihel.
зачем этот ответ?
хорошо сжимается достаточно длинный файл, где много повторяющихся кусков
.mihel.
а ты пробовал?
Это считай кварки из которого состоит вещество. Они и так самые маленькие
.mihel.
ну смотри 00110001 00110010 это 12 и его передают как двоичный код же или ос видит как 12 и принимает уже у себя двоичный?
Эм? Я может быть и не программист, но про сжатие информации кое-что знаю, так вот... Ты не циферки обычно сжимаешь, хорошими архиваторами. Ты сжимаешь повторяющуюся информацию. Вот, например, из твоего примера. Допустим, я классный архиватор и вижу такой код. Я вижу кучу повторяющихся паттернов и задумываюсь: "как это сжать, чтобы потом можно было бы однозначно расшифровать?".
А создам-ка я библиотеку! 111=00110. Супер! Твой код получается:
111001 111010 111011 111100 111101.
Почему 111? Потому что такого больше не встречается в коде и каждый раз, когда я вижу "111", я могу точно расшифровать это как 00110, экономя два бита информации. Осталось убедиться, что наша библиотека весит меньше, чем сэкономленные 10 бит и сжатие информации завершено.
А вообще, почитай про способы сжатия информации, это любопытно :) Обычно сжимают на более высоких уровнях, например текст:
"55555" сжимают в "(5раз)5".
Если же вопрос "почему так много битов кодируют одну цифру?" - так это потому, что они не только цифры кодируют. У тебя 10 цифр, куча букв (из разных языков) ещё всяких символов. Попробуй, закодируй это однозначно меньшим количеством цифр :)
А создам-ка я библиотеку! 111=00110. Супер! Твой код получается:
111001 111010 111011 111100 111101.
Почему 111? Потому что такого больше не встречается в коде и каждый раз, когда я вижу "111", я могу точно расшифровать это как 00110, экономя два бита информации. Осталось убедиться, что наша библиотека весит меньше, чем сэкономленные 10 бит и сжатие информации завершено.
А вообще, почитай про способы сжатия информации, это любопытно :) Обычно сжимают на более высоких уровнях, например текст:
"55555" сжимают в "(5раз)5".
Если же вопрос "почему так много битов кодируют одну цифру?" - так это потому, что они не только цифры кодируют. У тебя 10 цифр, куча букв (из разных языков) ещё всяких символов. Попробуй, закодируй это однозначно меньшим количеством цифр :)
Похожие вопросы
- Господа! Напишите (если такое конечно возможность) пример двоичного кода, который невозможно сжать (более 10 символов)
- Как получить двоичный код файла?
- Сейчас ведь нет надобности в двоичном коде ?
- Разум в двоичный код.
- Объясните как происходит запись информации в двоичном коде. Специально распишу как я это понимаю, чтобы объяснитель
- Добрый день. Компьютер все языки программирование понимает как двоичный код ( если я не ошибаюсь).
- нужен генератор двоичного кода (Pascal)
- двоичный код что это
- Двоичный код - перевод (надо думать)
- Перевод символа в двоичный код.