program laba7; uses math; type dopkod = record psign:integer; poryadok:string; msign:integer; mantisa:string; end; var A,B,C:longint; A2,B2,C2:dopkod; procedure convert(X:longint;var X2:dopkod); var i,i3,temp:longint; k,i2:real; begin if X <> 0 then begin if X>1 then X2.psign:=0 else X2.psign:=1; if X>0 then X2.msign:=0 else X2.msign:=1; if X<0 then X:=abs(X); k:=Log2(X)+1; i:=0; X2.mantisa:=''; X2.poryadok:=''; while i <= k do begin i:=i+1; temp:=X mod 2; X:=X div 2; if temp=1 then X2.mantisa:='1'+X2.mantisa else X2.mantisa:='0'+X2.mantisa; end; X2.mantisa:=copy(X2.mantisa,2,i); i2:=Log2(length(X2.mantisa)-1); i3:=length(X2.mantisa)-1; while i2>=0 do begin i2:=i2-1; temp:=i3 mod 2; i3:=i3 div 2; if temp=1 then X2.poryadok:='1'+X2.poryadok else X2.poryadok:='0'+X2.poryadok; end; end else begin X2.mantisa:='0'; X2.poryadok:='0'; end; end; begin writeln('input A'); read(A); writeln('input B'); read(B); convert(A,A2); convert(B,B2); writeln('I step '); writeln('A ',A2.psign,' ',A2.poryadok,' ',A2.msign,' ',A2.mantisa); writeln('B ',B2.psign,' ',B2.poryadok,' ',B2.msign,' ',B2.mantisa); writeln; writeln('II step '); writeln('A ',A2.psign,' ',A2.poryadok,' ',A2.msign,' ',A2.mantisa); writeln('B ',B2.psign,' ',B2.poryadok,' ',B2.msign,' ',B2.mantisa); C:=A+B; convert(C,C2); writeln; writeln('III step '); writeln('A ',A2.psign,' ',A2.poryadok,' ',A2.msign,' ',A2.mantisa); writeln('B ',B2.psign,' ',B2.poryadok,' ',B2.msign,' ',B2.mantisa); writeln('C ',C2.psign,' ',C2.poryadok,' ',C2.msign,' ',C2.mantisa,' C ',C); end.