forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   Второе пришествие Попова (http://forum.boolean.name/showthread.php?t=17931)

Randomize 25.02.2013 20:45

Ответ: Второе пришествие Попова
 
Цитата:

Сообщение от SBJoker (Сообщение 253719)
Борис, ты не прав!
Хэш это универсальный способ сжатия любого файла, с некоторым процентом вероятности что таких файлов окажется несколько. Хотя если знать размер файла, то число конечно.

Запаковка
  1. считываем размер файла в байтах
  2. записываем число в другой файл
сжатие 99.9999999%

Распаковка
  1. начинаем побайтный подбор
  2. не дожидаемся и умираем от старости
  3. внук нашего внука его внука сына внука сын внучатый внукатый внук получает замечательный файл из прошлого и ещё тысячи левых случайных (возможно даже годных файлов)

Gector 25.02.2013 20:54

Ответ: Второе пришествие Попова
 
Цитата:

Сообщение от Randomize (Сообщение 253769)
внук нашего внука его внука сына внука сын внучатый внукатый внук получает замечательный файл из прошлого и ещё тысячи левых случайных (возможно даже годных файлов)

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

ABTOMAT 26.02.2013 04:00

Ответ: Второе пришествие Попова
 
Цитата:

Сообщение от Randomize (Сообщение 253769)
внук нашего внука его внука сына внука сын внучатый внукатый внук получает замечательный файл из прошлого и ещё тысячи левых случайных (возможно даже годных файлов)

Щас представил: внук распаковывает дедушкин архив фоточек с отпуска в виде md5-хеша. Помимо собственно архива фоточек получает внезапно годный файл: iso с Half-Life 3 (так и не выпущенный к тому моменту).

Nerd 26.02.2013 15:18

Ответ: Второе пришествие Попова
 
Цитата:

Алгоритм архивации таков: любой файл представляет собой HEX-последовательность символов, переводим этот HEX в DEC, получаем неебически-большое число, дописываем перед этим число 0, - получаем число в диапазоне от 0 до 1 с огромным числом знаков после запятой, а дальше всё просто - подбираем 2 таких целочисленных числа, частное которых даст нам искомое число в диапазоне от 0 до 1 с точностью совпадений до последнего знака.
До меня вдруг допёрло - а что если не делить, а умножать? :crazy:
А ещё круче - сделать нахождение числа через скрипт в байт-коде. Юзая команду "степень-в-степени-в-степени- ..." и небольшое число действий, получаем сжатие на 95%... :crazy:

Nex 26.02.2013 17:45

Ответ: Второе пришествие Попова
 
Цитата:

Сообщение от Nerd96 (Сообщение 253839)
До меня вдруг допёрло - а что если не делить, а умножать? :crazy:
А ещё круче - сделать нахождение числа через скрипт в байт-коде. Юзая команду "степень-в-степени-в-степени- ..." и небольшое число действий, получаем сжатие на 95%... :crazy:

Да, за много лет, 100500 прогеров об этом даже не разу не задумывалось.

impersonalis 03.03.2013 01:35

Ответ: Второе пришествие Попова
 
http://habrahabr.ru/post/171373/

Arton 03.03.2013 18:49

Ответ: Второе пришествие Попова
 
Цитата:

Сообщение от impersonalis (Сообщение 254124)



Часовой пояс GMT +4, время: 17:49.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot