Сначала переводим числа 6 и 4 в 2-ную систему. Для этого делим всё время на 2 с остатком:
6 / 2 = 3 (остаток 0)
3 / 2 = 1 (остаток 1)
Выписываем последний результат деления (1) и все остатки, начиная с конца:
1 1 0
Таким образом:
Аналогично:
Умножаем: 110 х 100 = 11000
Тут действует такое же правило, что и для обычных десятичных чисел: чтобы умножить на 10, 100, 1000, 10000 и т.д., достаточно просто дописать справа столько нулей, сколько их есть в этом множителе. А вобще умножение двоичных чисел выполняется точно так же, как и десятичных - если нужно, то в столбик. Двоичную "Таблицу умножения" очень легко выучить наизусть:
0 х 0 = 0
0 х 1 = 0
1 х 0 = 0
1 х 1 = 1
Когда при умножении в столбик мы складываем промежуточные результаты, правила тоже простые:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 0
1 + 1 = 10
(смотри пример умножения на прикреплённом рисунке)
// Внимание! Если программа не работает, обновите её версию!
begin
var cs:=Arr(-2,0,2,4,6);
var a:=new integer[10];
Randomize;
for var i:=0 to 9 do a[i]:=cs[Random(0,4)];
a.Println;
Writeln('a[',a.IndexMin+1,']min=',a.Min);
Writeln('a[',a.IndexMax+1,']max=',a.Max);
end.
Пример
0 0 -2 -2 -2 2 -2 6 2 4
a[3]min=-2
a[8]max=6