Думай тыже хочеш зароботать
Дано
K=512 пикс
V=2 Кб (иногда обозначают I=2 Кб)
Найти
N- ?
Решение
N=2^i
i=V/K =
= \frac{2* 2^{13} }{512} = \frac{ 2^{14} }{ 2^{9} } = 2^{5}
i=32
N=2^32=4294967296
1) Один байт = 8 бит, максимальное число 2^8 - 1 = 255, если числа без знака. Для знаковых чисел старший бит отводится под знак числа, следовательно, минимальное число = - 2^7 - 1
= - 127, максимальное число = + 127
2) Число 1607, ячейка двухбайтовая, один бит под знак, следовательно, под число отводится 15 бит, в двоичном представлении 1607(10) = 11001000111(2), дополняем до 16 бит, старший бит - знаковый - нулевой, так как число положительное
= 0000011001000111(2) - это двоичное представление в двухбайтовой ячейке, чтобы получить шестнадцатиричное представление, разбиваем число справа - налево по 4 бита
0000 0110 0100 0111 и записываем в шестнадцатиричном виде
0111(2) = 7(16) 0100(2) = 4(16) 0110(2) =6(16) 0000(2) = 0(16)
1607(16) = 0647(16) или без старшего не значащего нуля = 647(16)
3) для получения дополнительного кода числа, находят обратное число, или инверсию числа,
для этого каждый бит числа изменяют на противоположный, 1 на 0, 0 на 1
105(10) = 1101001(2) - это и есть дополнительный код числа - 105, т.е. дополнительным кодом
числа (- а) будет число а.
Найдем дополнительный код в однобайтовой ячейке числа 105(10) = 01101001(2),
а) находим обратное 01101001(2) ->(обратное) ->10010110(2)
б) дополнительный код-> обратный код + 1 ->(дополнительный)->10010111(2), а это число - 105
потому, что отрицательные числа представляются в дополнительном коде.
Если для числа - 105 найти дополнительный код, то получим число 105
10010111(2)->(дополнительный)->01101000+1->01101001 = 69(16) = 16*6+9 = 96+9 = 105
1.
var a:array [1..4, 1..4] of integer; i, j, max: integer;
Begin
for i := 1 to 4 do
begin
for j := 1 to 4 do
read(a[i][j]);
readln;
end;
max := a[1][1];
for i := 2 to 4 do
if max < a[i][i] then max := a[i][i];
writeln(max);
End.
2.
var a:array [1..5, 1..5] of integer; i, j, m, sum: integer;
Begin
for i := 1 to 5 do
begin
for j := 1 to 5 do
read(a[i][j]);
readln;
end;
readln(m);
sum := 0;
for i := 1 to 5 do
if (m - i > 0) and (m - i < 6) then
sum := sum + a[i][m - i];
writeln(sum);
End.
3.
Const N = 5;
var a:array [1..N, 1..N] of integer; i, j, max: integer;
Begin
for i := 1 to N do
begin
for j := 1 to N do
read(a[i][j]);
readln;
end;
max := a[1][N];
for i := 2 to N do
if (max < a[i][N + 1 - i]) then
max := a[i][N + 1 - i];
writeln(max);
End.
4.
Const N = 5;
var a:array [1..N, 1..N] of integer; i, j, count: integer; sum: real;
Begin
for i := 1 to N do
begin
for j := 1 to N do
read(a[i][j]);
readln;
end;
sum := 0;
count := 0;
for i := 1 to N do
if (a[5][i] mod 2 = 1) then
begin
sum := sum + a[5][i];
inc(count);
end;
sum := sum / count;
writeln(sum);
End.
5.
var a:array [1..4, 1..4] of integer; i, j, upper_sum, lower_sum: integer;
Begin
for i := 1 to 4 do
begin
for j := 1 to 4 do
read(a[i][j]);
readln;
end;
upper_sum := 0;
lower_sum := 0;
for i := 1 to 4 do
begin
for j := i + 1 to 4 do
upper_sum := upper_sum + a[i][j];
for j := 1 to i - 1 do
lower_sum := lower_sum + a[i][j];
end;
writeln(upper_sum);
writeln(lower_sum);
End.
4 бита-2^4 варианта => 16 цветов