У исполнителя, который работает с положительными однобайтовыми двоичными числами, две команды, которым присвоены номера:
1. сдвинь влево
2. вычти 1
Выполняя первую из них, исполнитель сдвигает число на один двоичный разряд влево, причём на место освободившегося бита ставится 0. Выполняя вторую команду исполнитель вычитает из числа 1. Исполнитель начал вычисления с числа 91 и выполнил цепочку команд 112112. Запишите результат в десятичной системе.
Если в старшем разряде двоичного числа нет единицы, то команда 1 удваивает число, если единица есть (т. е. десятичное число не меньше 128), то выводится остаток от деления удвоенного числа на 256. Таким образом, получим следующее:
1: 91 => 182,
1: 182 => 108 (остаток от 364 / 256 ),
2: 108 => 107,
1: 107 => 214,
1: 214 => 172 (остаток от 428 / 256 ),
2: 172 => 171.
Ответ: 171.
Примечание.
Заметим, что в соответствии с условием программа работает с однобайтовыми числами. Если в старшем (седьмом, если считать справа налево начиная с 0) разряде числа стоит единица, то при сдвиге числа влево эта единица выходит за разрядную сетку и теряется. В результате при применении операции сдвига к числу, превышающему 127, то есть имеющему единицу в старшем разряде, получается остаток от деления данного числа на 256.

