Левая граница уже в двоичной системе, переводим правую границу. Она представлена в 16-ричной системе счисления, поэтому можно просто по таблице перевести каждую 16-ричную цифру в 4 двоичные:
CA₁₆ = 1100 1010₂
Если для целых a и b нужно посчитать количество целых чисел x, удовлетворяющих неравенству a < x < b, достаточно посчитать b - a - 1 (пример: 0 < x < 1 - 0 чисел). Если ответ получится отрицательный, ответ будет 0.
N=8 в задании, насколько я понимаю, означает решение для восьмибитного представления данных, т.е. для случай, когда левый бит отводится под знак (0 - плюс, 1 - минус), а семь правых битов используются для представления числа. Отрицательное число представляется в дополнительном коде, т.е. нули заменяются единицами (и единицы - нулями), а потом в младшем разряде к полученному числу прибавляется единица. Вначале перевод. -13(10)=-0001101(2) Инвертируем биты: 1110010 Прибавляем единицу: 1110011 И дописываем слева 1 в качестве знака. 1 1110011 Аналогичным образом поступаем и с числом -7: -7(10)=-0000111(2) Инвертируем биты: 1111000 Прибавляем единицу: 1111001 И дописываем слева 1 в качестве знака. 1 1111001 Теперь сложение. Выполняем его в столбик для всех восьми бит. 11110011 + 11111001
11101100 У нас при сложении появилась единица переноса из левого разряда, но дальше уже разрядов нет и она просто отбрасывается. Результат получился с единичным знаковым разрядом. Поэтому для получения величины результата поступаем в обратном порядке: отделяем семь правых бит, вычитаем единицу и снова инвертируем полученное значение. Вместо единичного знакового разряда приписываем числу знак минус. 1101100 - 1 = 1101011. Инверсия: 0010100, результат -10100(2)=-20(10)
6
Объяснение:
Левая граница уже в двоичной системе, переводим правую границу. Она представлена в 16-ричной системе счисления, поэтому можно просто по таблице перевести каждую 16-ричную цифру в 4 двоичные:
CA₁₆ = 1100 1010₂
Если для целых a и b нужно посчитать количество целых чисел x, удовлетворяющих неравенству a < x < b, достаточно посчитать b - a - 1 (пример: 0 < x < 1 - 0 чисел). Если ответ получится отрицательный, ответ будет 0.
1100 1010₂ - 1100 0011₂ - 1 = 1010₂ - 0011₂ - 1 = 10₁₀ - 3 - 1 = 6