Помощь - Поиск - Пользователи - Календарь
Полная версия: представление дополнительного кода
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
NoRToN
Дано: двоичные числа, которые вводятся в 16-ой форме с длиной представления не более 8 символов(возможен знак перед числом).
Задание:вывести 16-ое представление дополнительного кода введённого числа, используя для этого только логические операции.
xds
Код
program Hex;

const
 Digit: array[0..15] of Char = '0123456789ABCDEF';

var
 s: String;
 n: LongInt;
 i: Integer;

begin
 Write('s>');
 Readln(s);
 if s = '' then
   i := 1
 else
   if s[1] <> '-' then
     Val('$' + s, n, i)
   else
     begin
       s[1] := '$';
       Val('-' + s, n, i)
     end;
 if i <> 0 then
    Writeln('Ошибка: ожидается число в шестнадцатеричной записи.')
 else
   begin
     i := 28;
     repeat
       Write(Digit[n shr i and $F]);
       Dec(i, 4);
     until i < 0;
     Writeln;
   end;
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.