1 - 3бит
2 - 128 цветов
3 - 512Кбайт
4 - ≈1406,25 Кбайт
Объяснение:
Напишем формулы, необходимые для решения задач:
1. N = 2^I , где N - кол-во цветов в палитре, I - глубина цвета
2. V = a*I , где V - информационный объем, a - количество пикселей
Задача 1
Воспользуемся формулой 1 и выведем I
I = log2 N = I = log2 8 = 3бит
Задача 2
Воспользуемся формулой 1
N = 2^I = 2^7 = 128 цветов
Задача 3
Воспользуемся формулой 2
V = a*I = 1024*512*8 бит / 2^13 = 2^10 * 2^9 * 2^3 / 2^13 = 2^9 Кбайт = =512Кбайт
Задача 4
Воспользуемся формулой 1 и формулой 2
Выведем I из формулы 1:
I = log2 N = log2 16*10^6 = log2 2^4*10^6 = 2*log2 2^2*10^3 =
= 2*log2 4000 ≈ 2*12 = 24бит
V = a*I = 800*600*24/2^13 = 2^3 * 10^2 * 2*3 * 10^2 * 2^3 * 3 / 2^13 =
= 2^7 * 10^4 * 3^2 / 2^13 = 2^11 * 5^4 * 3^2 / 2^13 = 5^4 * 3^2 / 2^2 =
= 625*9/4 = 1406,25 Кбайт
#include <iostream>
using namespace std;
class circle {
public:
int x, y;
double r, s;
circle()
{
x = 0;
y = 0;
r = 0;
}
circle( int a = 0, int b = 0, double c = 0 )
{
set(a, b, c);
}
void out()
{
cout << "Координаты: (" << x << ", " << y << ") Радиус: "<< r << " Площадь: " << endl;
}
void set(int a, int b, double c)
{
x = a;
y = b;
r = c;
}
void calculate() {
s = r * r * 3.14159;
}
};
class sphere : public circle {
private:
double v;
void calculate() {
s = 4 * 3.14 * r * r;
v = 3.14159 * pow(r, 3);
}
public:
sphere();
sphere() : circle(circle, double = 1.0);
sphere (int = 0, int = 0, double = 1.0) ;
void out()
{
circle::out();
cout << ", радиус: " << r << ", длина: " << ", площадь: " << s;
}
};
int main(){
setlocale(LC_ALL, "ru");
circle a(2, 15, 4);
a.out();
sphere b;
system("pause");
return 0;
}
Объяснение: пойдёт?
a:=b+c - числу "а" присваивается значение суммы чисел "b+c"