Домашняя работа по теме «Арифметическое вычитание и деление»
Задание 1. Выполните арифметическое действие вычитание со следующей группой чисел:
а) 10111011012 и 1111112;
б) 10101110110102 и 110011012;
в) 11101110102 и 110011012;
г) 111011110111012 и 1000001111012;
Результаты подсчетов переведите в десятичную систему счисления!
Задание 2. Выполните арифметическое действие деление со следующей группой чисел:
а)1100000000012 и 1112;
б)101100100012 и 1012;
в)1000111000112 и 1012;
г)1111011001012 и 1112;
Результаты подсчетов переведите в десятичную систему счисления!
massiv = array [2..21] of integer;
var
mass : massiv;
i, summa : integer;
begin
summa := 0;
for i:=2 to 21 do
begin
mass[i]:=i;
if (mass[i] mod 2 = 0) then
summa := summa + mass[i]
end;
writeln('Сумма четных эл-тов равна : ', summa);
readln;
end.
program z;
var
a : array[2..21] of integer;
i,summ : integer;
b : array[2..21] of integer;
begin
for i:= 2 to 21 do
begin
a[i]:=i;
end;
for i:=2 to 21 do
begin
if a[i] mod 2 = 0 then
begin
b[i]:=a[i];
end;
end;
summ:=0;
for i:=2 to 21 do
begin
summ:=summ+b[i];
end;
Writeln(summ);
readln;
end.
Модифицированный код получается из прямого путем инвертирования бит (0 заменяется на 1, 1 заменяется на 0) - при этом получаем дополнительный код, - а затем прибавлеем к результату 1 в младшем (правом) разряде.
а) 56(10)=111000(2) и отображается в байте как 0 0111000 (знаковый бит отделен условно)
б) -56(10)=-111000(2), 1 0111000 в прямом коде, 1 1000111 в дополнительном коде, 1 1001000 в модифицированном коде.
в) 127(10)=1111111(2) , 0 1111111 в байте
г) -127(10)=-111111(2), 1 1111111 в прямом коде, 1 0000000 в дополнительном коде, 1 0000001 в модифицированном коде.