Procedure convert ( x: integer ); var s: string; k, error, len: integer; element: array[1..20] of real; i, rez: real; const N = -2; begin s := IntToStr(x); len := length(s); if len = 0 then writeln('Ошибка!') else begin i := 0; rez := 0; for k := 1 to len do val(s[k], element[k], error); for k := 1 to len do begin i := element[k] * power( N, len - k ); rez := rez + i; end; writeln(rez); end; end;
var numeric: integer; begin write('Введите двоичное число для перевода в систему счисления с основанием (-2): '); readln(numeric); write('ответ: '); convert(numeric); end.
var s: string;
k, error, len: integer;
element: array[1..20] of real;
i, rez: real;
const N = -2;
begin
s := IntToStr(x);
len := length(s);
if len = 0 then writeln('Ошибка!')
else
begin i := 0;
rez := 0;
for k := 1 to len do val(s[k], element[k], error);
for k := 1 to len do
begin
i := element[k] * power( N, len - k );
rez := rez + i;
end;
writeln(rez);
end;
end;
var numeric: integer;
begin
write('Введите двоичное число для перевода в систему счисления с основанием (-2): ');
readln(numeric);
write('ответ: ');
convert(numeric);
end.