1) Хмм. Изображение — чисто равовая битовая карта? И скорее всего 256 (а не 265) цветов-то. В таком случае каждый пиксель битмапа можно закодировать одним байтом. В 1 кибибайте (имеется в виду же 1024 байт, так?) будет 1024 точки.
2) Чёрно-белое (два цвета, не путать с грейскейлом/монохромным) можно закодировать, скажем, по 1 биту на пиксель (0 - не светится, чёрный, 1 - светится, белый, или наоборот). Если в "цветном" 16-цветном было log_2 16 = 4 бита на пиксель, то следовательно можно выходной размер битовой карты считать (довольно грубо) занимающим в 4 раза меньше байт.
3) (2^10) * (2^8) в 786 КиБ => 786 / (2^8) = 3,0703. Ну то есть по 3 байта на пиксель. Это 2^(8*3) = 2^24 цветов. True color.
4) Информационный объем одной точки 16-цветного растрового изображения уже исследовался выше: log_2 16 = 4 бита на пиксель (пол байта).
1) Хмм. Изображение — чисто равовая битовая карта? И скорее всего 256 (а не 265) цветов-то. В таком случае каждый пиксель битмапа можно закодировать одним байтом. В 1 кибибайте (имеется в виду же 1024 байт, так?) будет 1024 точки.
2) Чёрно-белое (два цвета, не путать с грейскейлом/монохромным) можно закодировать, скажем, по 1 биту на пиксель (0 - не светится, чёрный, 1 - светится, белый, или наоборот). Если в "цветном" 16-цветном было log_2 16 = 4 бита на пиксель, то следовательно можно выходной размер битовой карты считать (довольно грубо) занимающим в 4 раза меньше байт.
3) (2^10) * (2^8) в 786 КиБ => 786 / (2^8) = 3,0703. Ну то есть по 3 байта на пиксель. Это 2^(8*3) = 2^24 цветов. True color.
4) Информационный объем одной точки 16-цветного растрового изображения уже исследовался выше: log_2 16 = 4 бита на пиксель (пол байта).
Имеем байтики в RLE:
0x01, 0x80, 0x85, 0x37, 0x02, 0x05, 0x7F, 0x83, 0x21 - в шестнадцатеричной
%0000 0001, %1000 0000, %1000 0101, %0011 1111, %0000 0010, %0000 0101, %0111 1111, %1000 0011, %0010 0001 - в двоичной
Декодируем:
0x01 0x80 > 0x80 (берём 1 последующий байт)
0x85 0x37 > 0x37 0x37 0x37 0x37 0x37 (повторяем следующий байт 5 раз)
0x02 0x05 0x7F --> 0x05 0x7F (2 последующих байта)
0x83 0x21 --> 0x21 0x21 0x21 (повторяем 0x21 3 раза)
Декодированная последовательность байт:
0x80 0x37 0x37 0x37 0x37 0x37 0x05 0x7F 0x21 0x21 0x21
Всего 11 байт.