1. Определяем глубину цвета 4
2^4=16
<span>Определяем размер файл ширина*высота*глубина
100*100*4=40 000 бит
2. Рассчитать количество бит, необходимых для кодирования 16 цветов в изображении. 16= 2^4, -> то есть </span><span>4 бита для кодирования 16цветов
3.Рассчитать размер файла изображения для сотового телефона размером 125
на 125 пикселей. Для кодирования цвета используется 4 бита.</span>
глубина цвета=2, так 2^2=4
125*125*2=15626*2=31259 бит
Ну операция то какая? )) сумму или разность найти?
1)
площадь изображения 35.56×35.56 = 1264.51 квадратных дюймов.
количество точек в квадратном дюйме 1200×1200 = 1 440 000 точек
количество точек во всем изображении
1 440 000 * 1264.51 = 182 089 440 000
глубина цвета 16 бит. 3 цвета RGB * 16 = 48бит на точку
Итого 182089440000 * 48 = 8740293120000 бит
8740293120000 / 8 бит в байте / 1024 байт в КБ /1024 кб в мб / 1024 мб в гб = 865,39 Гигабайт
2)
<span> для палитры в 4 цвета небоходимо 2^n=4, n=2бита
55*55 = 3025 пикселя * 2 бита на пиксель = 6050бит
</span>
3)
<span>изображение 12,7×12,7 см.
Разрешающая способность сканера — 600×1200 dpi,
глубина цвета — 32 бита.</span>
в 1дюйме 2,54 см, <span>12,7см/2,54 см = </span>5 дюйм
Изображение 5 * 5 = 25 квадратных дюймов
600*1200 = 720 000 точек на квадратный дюйм
720 000 * 25 = 18 000 000 точек на изображение
глубина цвета 32 бит. 3 цвета RGB * 32 = 96 бит на точку
Итого 18 000 000 * 96 = 1 728 000 000 бит / 8 бит в байте =
216 000 000 байт
1) (первые 2 скриншота)
#include <iostream>
using std::cout;
using std::endl;
#include <cstdlib>
using std::rand;
using std::srand;
#include <ctime>
using std::time;
int main()
{
int a[10];
srand(time(0));
for(int i = 0; i < 10; i++)
{
a[i] = rand() % 101;
cout << a[i] << ' ';
}
cout << endl << endl;
for(int i = 0; i < 10; i++)
{
if(a[i] % 3 == 0 && a[i] > 13)
{
cout << a[i] << ' ';
}
}
cout << endl;
return 0;
}
2)
#include <iostream>
using std::cout;
using std::endl;
int main()
{
double a[10] = { 1.2, 0.0, -5.8, -0.4, 10.5, 14.6, -6.3, -8.8, -4.1, 0.0 };
int A = 0, B = 3;
for(int i = 0; i < 10; i++)
{
cout << a[i] << ' ';
if(a[i] < 0.0)
{
a[i] += a[A];
}
else if(a[i] == 0)
{
a[i] -= B;
}
}
cout << "\n\na(index) = " << A << ", b = " << B << "\n\n";
for(int i = 0; i < 10; i++)
{
cout << a[i] << ' ';
}
cout << endl;
return 0;
}
Да, конечно, если у тебя встроен NFC модуль в телефон