Присоединиться

Информатика·Кодирование информации·8–11 класс

Сколько цветов в палитре, если файл изображения 1024 на 512 весит 258 Кбайт

Условие

Несжатый файл растрового изображения размером 1024 на 512 пикселей занимает 258 Кбайт, из которых 2 Кбайт приходится на заголовок файла, не связанный с пикселями. Все пиксели кодируются одинаковым количеством бит. Определите максимальное количество цветов в палитре этого изображения.

Ответ

16 цветов (4 бита на пиксель)

Решение по шагам

  1. Шаг 1. Отделяем данные о пикселях от заголовка

    Формула I=KiI = K \cdot i описывает только массив пикселей. Заголовок в неё не входит, поэтому его надо вычесть до всех расчётов:

    2582=256 Кбайт258 - 2 = 256\ \text{Кбайт}

    Именно эти 256 Кбайт распределяются между пикселями.

    Если заголовок не вычесть, глубина цвета получится дробной (около 4,03 бита) — а это невозможно и служит сигналом об ошибке.

  2. Шаг 2. Считаем количество пикселей

    K=1024512=524288 пикселейK = 1024 \cdot 512 = 524\,288\ \text{пикселей}

    Оба множителя — степени двойки: 1024=2101024 = 2^{10}, 512=29512 = 2^{9}, поэтому

    K=21029=219K = 2^{10} \cdot 2^{9} = 2^{19}

    Дальше удобно вести весь счёт в степенях двойки — большие числа не понадобятся.

Осталось ещё 3 шага — откроются после входа:

  • Шаг 3. Находим, сколько бит приходится на пиксель
  • Шаг 4. Переходим от глубины цвета к размеру палитры
  • Шаг 5. Проверяем прямым расчётом объёма
Получить полное решение

Бесплатно · займёт минуту

Частые ошибки

  • Не вычитают заголовок и делят на пиксели все 258 Кбайт — глубина выходит дробной.

  • Останавливаются на числе 4 и записывают его в ответ: 4 — это биты на пиксель, а не количество цветов.

  • Вместо возведения в степень умножают: 42=84 \cdot 2 = 8 цветов.

  • Забывают перевести байты в биты перед делением на количество пикселей.

Другие задачи по теме «Кодирование информации»