2. После кодирования методом RLE получилась следующая последовательность байтов первый байт — управляющий

Информатика-11-класс-Поляков

§ 3. Сжатие данных ГДЗ по Информатике 11 класс. Углубленный уровень. В 2 ч. Поляков К.Ю.


2. После кодирования методом RLE получилась следующая последовательность байтов (первый байт — управляющий):

10000011   10101010   00000010   10101111   11111111   10000101   10101010

Сколько байтов будет содержать данная последовательность после распаковки?

Ответ

Для расшифровки последовательности байтов, закодированных методом RLE, нужно понимать, что первый байт является управляющим и определяет количество следующих байтов, которые необходимо повторить определенное количество раз.

Последовательность байтов:

10000011   10101010   00000010   10101111   11111111   10000101   10101010

Пошагово разберем каждый сегмент:

10000011:

  • Управляющий байт: 10000011
  • Это означает, что следующая группа данных будет содержать 3 байта (11 в двоичном формате, что равно 3 в десятичном).
  • Считываем следующие 3 байта:
    • 10101010
    • 00000010
    • 10101111
  • Повторяем 1 раз (поскольку первый байт из группы данных — 10101010):
    • 10101010 00000010 10101111

11111111:

  • Управляющий байт: 11111111
  • Это означает, что следующая группа данных будет содержать 255 байтов (11111111 в двоичном формате, что равно 255 в десятичном).
  • Считываем следующий байт:
    • 10000101
  • Повторяем 255 раз:
    • 10000101 (повторяем 255 раз)

10101010:

  • Этот байт не является управляющим, поскольку предыдущий управляющий байт уже обработан.
  • Этот байт просто добавляется как есть.

Теперь посчитаем количество байтов после распаковки:

  • Первая группа данных: 3 байта.
  • Вторая группа данных: 1 байт, повторенный 255 раз.
  • Последний байт: 1 байт.

Итого: 3 + 255 + 1 = 259 байт.

После распаковки данная последовательность будет содержать 259 байтов.


Понравилась статья? Поделиться с друзьями: