§ 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 байтов.