Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пример выполения ТРЗ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
78.33 Кб
Скачать
  1. Выполнить, используя результаты работы по заданию 2, сложение чисел с фиксированной запятой:

(B1) + (B3),

представленных в машинном коде со знаком.

Решение.

B1пр = 001000;

B3пр = 110101.

Выполняем алгоритм сложения:

  1. Для выполнения сложения положительное число B1 представляем прямым кодом, для отрицательного числа B3 используем дополнительный код:

B1пр = 001000; B3доп = 101011.

  1. Суммируем полученные коды:

    +

    0

    0

    1

    0

    0

    0

    1

    0

    1

    0

    1

    1

    1

    1

    0

    0

    1

    1

  2. Анализируем полученный результат на переполнение (анализируем переносы из старшего значащего разряда и из знакового). Оба анализируемых переноса отсутствуют, следовательно, переполнения нет, результат верный.

  3. Так как в знаковом разряде находится единица, делаем вывод, что результат отрицательный. Следовательно, он представлен в дополнительном коде. Переводим результат суммирования в обратный код (вычитанием единицы из младшего разряда), затем в прямой код (инвертируя все разряды кода, кроме старшего – знакового), по которому получаем двоичное число со знаком:

B1 + B3 = (110011)2доп = (110010) 2обр = (101101) 2пр = (–1101)2 = (–13)10.

Проверка: (+8)10 + (–21)10 = (–13)10.

  1. Выполнить, используя результаты работы по заданию 2, вычитание чисел с фиксированной запятой:

(B3) – (B2),

представленных в машинном коде со знаком.

Решение

B2пр = 111011;

B3пр = 110101.

В ЭВМ операция вычитания чисел с произвольными знаками заменяется операцией алгебраического сложения по формуле

B3 – B2 = B3 + (–B2).

Воспользуемся алгоритмом вычитания:

  1. Знак вычитаемого в прямом коде заменяем на противоположный. Так как число B2 отрицательное, то (–B2) станет положительным.

  2. Положительное число (–B2) представляем прямым кодом, отрицательное B3 – дополнительным:

B3доп = 101011, (–B2)2пр = 011011.

  1. Суммируем полученные коды:

+

1

0

1

0

1

1

0

1

1

0

1

1

1

0

0

0

1

1

0

Единицу переноса из знакового разряда по правилам выполнения операции сложения в дополнительном коде отбрасываем.

  1. Анализируем полученный результат на переполнение (анализируем переносы из старшего значащего разряда и из знакового). Оба анализируемых переноса присутствуют, следовательно, переполнения нет, результат верный.

  2. В знаковом разряде результата – единица, следовательно, результат суммирования положительный и представлении в прямом коде. Переводим его двоичное, а затем в десятичное число со знаком:

B3 – B2 = (000110)2пр = (+110)2 = (+6)10 .

Проверка: (–21)10 – (–27) = (+6)10.