Почему 7-Zip выкачивает 257 и 258 слов?

350
abcjme

Размеры слов сжатия обычно имеют степень 2. Тем не менее, 7-Zip имеет некоторые исключения:

  • Deflate имеет как 256, так и 258 размеров слова.
  • Deflate64 имеет как 256, так и 257 размеров слова.

Это кажется таким тривиальным и странным увеличением. В чем причина / цель для них?

Вот фотография того, о чем я говорю:

enter image description here

-1

1 ответ на вопрос

1
abcjme

7-Zip на самом деле не показывает все размеры слов, на которые способны Deflate и Deflate64. Он показывает только выбранный образец. На самом деле Deflate способен на все приращения целых чисел от 3 до 258. Поскольку сопоставление с образцом невозможно или бесполезно только с 1-2 переменными, эти количества пропускаются. Таким образом, размер слова в Deflate фактически равен степени 2. Поскольку «1» и «2» не являются возможными вариантами выбора размера слова для Deflate, вы -2 из максимального размера 258, что равно 256.

Что касается Deflate64, он может увеличивать целые числа от 3 до 257. 258 фактически используется как флаг расширения, чтобы увеличить диапазон размера слова с 3-65538. Тем не менее, 7-Zip просто не использует эту функцию. В любом случае, если вы -2 из 65538, вы получите 65536, что также является степенью 2. Интересно, однако, что Deflate64 может быть улучшен, если вместо этого флаг расширения будет охватывать диапазоны 258-65793, поскольку 3-257 уже охвачены ,

Похожие вопросы