Цель: понять решение пошагово.
Дано:
- Размер изображения: 128 × 120 пикселей
- Память под кодирование цвета: 30 Кбайт (без учета заголовка)
- Каждый пиксель кодируется одинаковым количеством бит, пиксели записываются последовательно без промежутков
Общее число пикселей 128 × 120 = 15 360 пикселей
Емкость памяти в битах 30 Кбайт = 30 × 1024 байт = 30 720 байт 30 720 байт × 8 бит/байт = 245 760 бит
Определение максимального количества бит на пиксель Пусть b — число бит на пиксель. Тогда 15 360 × b ≤ 245 760 b ≤ 245 760 / 15 360 = 16
Следовательно, целое максимальное значение b = 16 бит на пиксель.
- Максимальное количество цветов С использованием 16 бит на пиксель максимум цветов равно 2^16 = 65 536.
Итог: Максимальное количество цветов = 65 536 (то есть 16-битное цветовое глубина).
Примечание: Если считать по десятичной килобайту (1 КБ = 1000 байт), то 30 КБ = 30 000 байт, и максимум будет чуть меньше: b ≤ 240 000 бит / 15 360 пикселей ≈ 15.625, т.е. 15 бит на пиксель, что даёт 2^15 = 32 768 цветов. Но обычно в таких задачах применяют двоичную единицу килобайта, и ответ — 65 536 цветов.