Предмет: Информатика, автор: taksist227

Какое минимальное количество бит потребуется для кодирования растрового изображения, если при его создании использовано 260 цветов? Напишите решение.

Ответы

Автор ответа: Ziorar
1

Ответ: 9 бит (для изображения 1 на 1 пиксель)

Для других размеров- смотри внизу решения.

Решение:

Сначала найдём минимальное количество бит для кодирования одного пикселя (точки) такого изображения.

Это будет такое минимальное целое n, которое удовлетворяет неравенству

$2^\mathrm n\ge260$

Это n проще всего найти, используя таблицу степеней числа 2.

Ищем в ней минимальную степень, большую или равную числу 260, а затем смотрим её показатель. В результате мы найдём степень 512 и показатель для этой степени, равный 9.

То есть, можем сразу после неравенства записать, что n = 9.

Однако, можно записать и общую формулу. Решим неравенство и запишем формулу для минимального целого n (используя двоичный логарифм (его можно заменить десятичным или натуральным), а затем округление вверх):

$2^\mathrm n\ge260$

$\mathrm n\ge\log_2 260$

$\mathrm n=\lceil \log_2 260\rceil=\lceil \frac{\lg 260}{\lg 2}\rceil=\lceil \frac{\ln 260}{\ln 2}\rceil$

Вычисляем:

$\mathrm n=\lceil \log_2 260\rceil=\lceil 8{,}022... \rceil=9  (бит)

Это и будет минимальное число бит для самого маленького указанного изображения (размером 1 на 1 пискель, то есть состоящего всего из 1 * 1 = 1 пикселя)

Если же изображение имеет другие размеры (обозначим как  x  и  y ), то это число бит для одного пискселя надо будет умножить на число пикселей в изображении (произведение икс и игрек) и получим общее число бит для кодирования такого изображения:  n*x*y

Похожие вопросы
Предмет: Биология, автор: dinahm99
Предмет: Алгебра, автор: Марина1515
Предмет: Физика, автор: новичок646