ПАСКАЛЬ: Напишите процедуру, которая выводит на экран переданное ей число в негадвоичной системе счисления, основание которой равно (–2). Например, [latex]1011_{(-2)} =1*(-2) ^{3} +0*(-2)^{2}+1*(-2)^{1}+1*(-2)^{0}=-9[/latex]

ПАСКАЛЬ: Напишите процедуру, которая выводит на экран переданное ей число в негадвоичной системе счисления, основание которой равно (–2). Например, [latex]1011_{(-2)} =1*(-2) ^{3} +0*(-2)^{2}+1*(-2)^{1}+1*(-2)^{0}=-9[/latex]
Гость
Ответ(ы) на вопрос:
Гость
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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы