Сначала — короткие ответы. Считаю \(1\) КБ \(=1024\) байта. В задаче Г2, судя по смыслу, пропущено «×512», то есть экран \(512\times512\); иначе условие неполное.
| Задача | Ответ | Ключевой шаг |
|---|---|---|
| Г1 | 256 возможных кодов | \(2^8=256\); коды от \(00000000_2\) до \(11111111_2\) |
| Г2 | 16 цветов | \(128\cdot1024\cdot8/(512\cdot512)=4\) бита на пиксель; \(2^4=16\) |
| Г3 | 800 КБ | \(640\cdot640\cdot16/(8\cdot1024)=800\) |
| Г4 | 512 пикселей | 16 цветов → 4 бита; \(128\cdot1024\cdot8/(4\cdot512)=512\) |
| Г5 | 6 бит | \(128\cdot8/(8\cdot8)=16\) бит на пиксель; \(16-5-5=6\) |
| Г6 | 512 байт = 0,5 КБ | 16 градаций → 4 бита; \(32\cdot32\cdot4/8=512\) байт |
| Г7 | 4 КБ | 256 цветов → 8 бит; \(64\cdot64\cdot8/(8\cdot1024)=4\) КБ |
| Г8 | 256 байт | 256 цветов → 8 бит; \(8\cdot32\cdot8/8=256\) байт |
| Г9 | 3 КБ | 64 цвета → 6 бит; \(32\cdot128\cdot6/(8\cdot1024)=3\) КБ |
| Г10 | уменьшился в 2 раза | было 10 бит/пиксель, стало 5: \(10/5=2\) |
| Г11 | было 80 байт | уменьшение \(8-1=7\) бит/пиксель; \(70\cdot8/7=80\) пикселей; \(80\cdot8/8=80\) байт |
| Г12 | уменьшился в 3 раза | было 9 бит/пиксель, стало 3: \(9/3=3\) |
| Г13 | 4096 цветов | после стало 8 бит; было \(1{,}5\cdot8=12\) бит; \(2^{12}=4096\) |
Главный принцип
Число цветов \(N\) и глубина цвета \(i\) связаны формулой:
\[ N=2^i,\qquad i=\log_2 N. \]
Объём растрового изображения:
\[ V_{\text{бит}}=W\cdot H\cdot i, \]
где \(W\), \(H\) — ширина и высота в пикселях.
То есть важна не сама «величина» числа цветов, а сколько бит приходится на один пиксель. Поэтому, например, в Г10 при уменьшении числа цветов с 1024 до 32 объём уменьшается не в 32 раза, а только в 2 раза: глубина цвета падает с 10 до 5 бит.
Проверка
- В Г7: \(64\cdot64=4096\) пикселей, по 1 байту на пиксель — ровно \(4096\) байт \(=4\) КБ.
- В Г11: старый файл 80 байт, новый 10 байт, разница \(80-10=70\) байт — сходится.
- В Г13: \(12\) бит и \(8\) бит отличаются в \(12/8=1{,}5\) раза — сходится.
Для Г1 полную таблицу можно оформить как 256 строк: номер цвета \(n\) и его 8-битный двоичный код. Например: \(0=00000000_2\), \(1=00000001_2\), \(255=11111111_2\). Конкретные названия цветов зависят от палитры.
