Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сумирование обратный код (RUS).doc
Скачиваний:
0
Добавлен:
22.11.2019
Размер:
92.16 Кб
Скачать
  1. Алгоритм:

+ -

+ -

+ -

+ -

  1. Текст программы:

Ввести Р1 'Вводим первое число

Ввести Р2 'Вводим второе число

Печать Р1 'Печатаем первое число

Печать Р2 'Печатаем второе число

'Если первое число отрицательное - инвертируем его + 1

Если Р1(6:7) = 3 Идти_К 11

Идти_К 12

11 Операция Р1(4:0) = Р1(4:0)~

Операция Р1 + 1

'Если второе число отрицательное - инвертируем его + 1

12 Если Р2(6:5) = 3 Идти_К 21

Идти_К 22

21 Операция Р2(4:0) = Р2(4:0)~

Операция Р2 + 1

22 Операция Р3 = Р1

Операция Р3 + Р2 'Складываем числа

'Если результат отрицательное - инвертируем его + 1

Если Р3(6:5) = 3 Идти_К 31

Идти_К 32

31 Операция Р3(4:0) = Р3(4:0)~

Операция Р3 + 1

'Проверка на переполнение

32 Если Р3(6:5) = 1 Идти_К 41

Если Р3(6:5) = 2 Идти_К 41

Печать Р3

Идти_К 42

41 Печать "Переполнение"

42 Конец

  1. Пример работы программы:

  • Складываем 12 и 15 = 27

╔═════════════════════════════════ Результаты ═════════════════════════════════╗

║ 2-й код 16-й код 10-й код ║

║Р001 00001100 0C 00000000012 ║

║Р002 00001111 0F 00000000015 ║

║Р003 00011011 1B 00000000027 ║

║ ║

╚══════════════════════════════════════════════════════════════════════════════╝

  • Складываем 12 и -15 = 3

╔═════════════════════════════════ Результаты ═════════════════════════════════╗

║ 2-й код 16-й код 10-й код ║

║Р001 00001100 0C 00000000012 ║

║Р002 01101111 6F 00000000111 ║

║Р003 01100011 63 00000000099 ║

║ ║

╚══════════════════════════════════════════════════════════════════════════════╝

  • Складываем -12 и -15 = -27

╔═════════════════════════════════ Результаты ═════════════════════════════════╗

║ 2-й код 16-й код 10-й код ║

║Р001 01101111 6F 00000000111 ║

║Р002 01101100 6C 00000000108 ║

║Р003 11111011 FB 00000000251 ║

║ ║

╚══════════════════════════════════════════════════════════════════════════════╝

  • Складываем 28 и 4 состоится переполнение

╔═════════════════════════════════ Результаты ═════════════════════════════════╗

║ 2-й код 16-й код 10-й код ║

║Р001 00011100 1C 00000000028 ║

║Р002 00000100 04 00000000004 ║

║Переполнение ║

║ ║

╚══════════════════════════════════════════════════════════════════════════════╝

Вывод

В данной лабораторной работы я закрепил знания по арифметическим действиям в машине. Моделировали действие добавления в обратном и дополнительном кодах.