Дано: двоичные числа, которые вводятся в 16-ой форме с длиной представления не более 8 символов(возможен знак перед числом). Задание:вывести 16-ое представление дополнительного кода введённого числа, используя для этого только логические операции.
xds
24.12.2004 8:14
Код
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.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.