Рассматриваем однобайтное представление целых чисел. Старший (левый) разряд знаковый, остальные семь хранят число в дополнительном двоичном коде. У положительного числа в знаковом разряде 0, у отрицательного единица. Для положительного числа прямой, обратный и дополнительный коды совпадают. У отрицательного числа в обратном коде все биты, кроме знакового, инвертируются. Для получения дополнительного кoда число в обратном коде арифметически увеличивается на 1. Чтобы получить для отрицательного числа прямой код, нужно инвертировать все его биты, кроме знакового, а затем арифметически увеличить код на 1.
begin ClrScr; Write('Введите 3-х значное число: '); Read(a); Write('Введите 2-х значное число: '); Read(b); s1:=a div 100+(a div 10) mod 10+a mod 10; s2:=b div 10+b mod 10; if s1>s2 then Writeln('Сумма цифр 3-х значного числа больше') else if s2>s1 then Writeln('Сумма цифр 2-х значного числа больше') else Writeln('Суммы цифр обоих чисел одинаковы'); ReadKey end.
Пример Введите 3-х значное число: 513 Введите 2-х значное число: 97 Сумма цифр 2-х значного числа больше
а) seek (3)=найдет символ j; read(5)=прочтет символ i
б) seek (5)=найдет символ i; read(0) =прочтет символ a
в) seek (0)=найдет символ a; read(1)=прочтет символ j
Объяснение: