Домашнее задание - Арифметические действия. Логические операции. Единицы количества информации. Коды чисел

Инструкция: изучите разобранный пример, решите самостоятельные задачи с обоснованием правил и сохраните страницу в формате PDF для передачи преподавателю. Срок сдачи сообщит преподаватель.

Выполняйте только если преподаватель назначил это задание.
✓ Данные сохранены в браузере

Сведения об обучающемся

1. Разобранный пример: аппаратное вычитание через дополнительный код

Задача: Найти разность $28_{10} - 45_{10}$ в 8-разрядной сетке со знаком.

Ход рассуждения:

  1. Запишем положительное число $28_{10} = 16 + 8 + 4 = 00011100_2$.
  2. Запишем модуль вычитаемого $45_{10} = 32 + 8 + 4 + 1 = 00101101_2$.
  3. Сформируем дополнительный код для отрицательного числа $-45$:
    • Инвертируем биты модуля: 11010010 (обратный код).
    • Прибавляем единицу: 11010010 + 1 = 11010011 (дополнительный код).
  4. Сложим оба числа на сумматоре:
           00011100  (+28)
         + 11010011  (-45 в доп. коде)
         ----------
           11101111  (результат в регистре)
                
  5. Анализ результата: Старший бит равен 1 $\implies$ число отрицательное. Вычислим его модуль:
    • Инвертируем разряды: 11101111 $\to$ 00010000.
    • Прибавляем единицу: 00010000 + 1 = 00010001_2 = 17_{10}.
    • Итоговый результат: $-17_{10}$.
    • Проверка в десятичной системе: $28 - 45 = -17$. Результат доказан.

2. Самостоятельное проверяемое задание 1: вычитание в дополнительном коде

Условие: Выполните операцию $A - B$ для $A = 74_{10}$ и $B = 89_{10}$ в 8-разрядной знаковой сетке. Переведите вычитаемое в дополнительный код, выполните сложение, определите знак результата и проверьте вычисления обратным преобразованием.

3. Самостоятельное проверяемое задание 2: возникновение знакового переполнения (OF)

Условие: В 8-битном сумматоре складываются числа $A = +95_{10}$ ($01011111_2$) и $B = +65_{10}$ ($01000001_2$). Выполните поразрядное сложение, поясните, почему знаковый бит результата стал равен единице, рассчитайте значение флага переполнения $OF = C_6 \oplus C_7$ и сформулируйте архитектурный вывод о допустимом диапазоне знакового байта.

Критерии проверки домашнего задания:
Оценка Показатели выполнения
Отлично (4 балла) Оба задания выполнены строго по алгоритму, представлено поразрядное сложение, объяснена физика флагов и выполнена обратная проверка.
Хорошо (3 балла) Правильно получен дополнительный код, но допущена арифметическая описка при расчёте флага $OF$ или не завершена проверка.
Удовлетворительно (2 балла) Верно решено только первое задание, анализ знакового переполнения отсутствует.