Число 113: для него прямой, обратный и дополнительный коды совпадают, так как оно положительное.
113(10)=01110001(2)
Число (-36):
Прямой код: 36(10)=00100100(2)
Обратный код (код, в котором меняем 0 на 1, а 1 на 0 в прямом коде):
-36(10) - обратный код 11011011(2)
Дополнительный код (к младшему разряду обратного кода прибавляем 1):
-36(10) - дополнительный код 11011100(2) - это число -36 в доп.коде
Сложим 113+(-36) в двоичных кодах:
01110001(2)+11011100(2)=1 0100 1101(2). Старшую единицу отбрасываем, получаем:
01001101(2)=77(10)
Проверим: 113-36=77 в десятичной с/с
Выводим через пробел все числа от b-1 до a+1. В цикле вывода можем считать количество таких чисел, а можем воспользоваться формулой
(b-a = кол-во целых чисел от a до b-1 или от a+1 до b).
Код
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
for (int i = b-1; i > a; --i)
cout << i << " ";
cout << endl << (b-a-1) << endl;
return 0;
}
---------------------
Файл решения прикреплён.