Сложение (вычитание) двоичных чисел в дополнительном коде - PascalABC.NET

Формулировка задачи:

Сложение (вычитание) двоичных чисел в дополнительном коде.Можно не писать нахождение дополнительного кода

Код к задаче: «Сложение (вычитание) двоичных чисел в дополнительном коде - PascalABC.NET»

textual
type
   TInt=word;
 
function convert(const a:Tint):TInt;
begin
  if a<0
    then convert:=((not a) or (high(Tint) div 2)) + 1
  else convert:=a;
end;
 
function reconvert(const a:Tint):Integer;
begin
  if a>(high(Tint) div 2) then
   begin
     reconvert:=-(high(Tint)-a)-1;
   end
   else reconvert:=a;
end;
 
var
 a,b:TInt;
begin
  a:=convert(10);
  b:=convert(-20);
 
  writeln(reconvert(a),' ', reconvert(b));
  writeln(reconvert(a+b),' ', reconvert(a-b));
  readln;
end.

10   голосов, оценка 3.500 из 5


СОХРАНИТЬ ССЫЛКУ