лекции / Лекция 10 по ИТ_Сложение чисел с разными знаками. ПК ОК и ДК
. .pdfКурс лекций по дисциплине «Информационные технологии» для студентов очной формы обучения
Блок 2: «Аппаратная реализация арифметических операций над числами,
представленными в машинных кодах» Лекция № 10 Тема 2.4: «Машинная арифметика. Сложение на двоичном сумматоре
чисел с разными знаками в машинных кодах. Прямой, обратный и дополнительный машинные коды»
|
Курс – 34 акад. часа Версия 2022 г |
Кафедра вычислительной техники |
Лист 1/10 |
|
|
|
|
10.Машинная арифметика
10.1.Особенности сложения на двоичном сумматоре чисел с разными знаками
вмашинных кодах
Счислами в двоичной системе счисления мы можем выполнять любые арифметические действия, никаких проблем.
Авот с машинными кодами нет! Тут мы жестко ограничены возможностями аппаратуры.
Авозможности аппаратуры таковы: в состав арифметико-логического устройства (АЛУ) для выполнения вычислительных операций входит весьма ограниченный круг устройств: сумматор, инвертор и регистры разного назначения и определенной размерности, например регистры для хранения
иобработки чисел, для хранения промежуточных результатов вычислений,
для хранения результата вычисления и отдельно регистры сдвига кода влево и регистры сдвига кода вправо.
Регистры являются по сути ячейками временной мини-памяти, состоят регистры из триггеров. Каждый триггер может содержать одну единицу информации: или «нолик» или «единичку», т.к. триггер это бистабильное устройство и может длительно находиться в одном из двух устойчивых состояний (есть электрический сигнал – значит «единичка»/нет электрического сигнала – значит «нолик»). Наиважнейшей характеристикой регистра является его разрядность, т.е. сколько в нём физически содержится триггеров. Кроме этого, важен порядок записи машинного кода в регистр,
(порядок и количество отведенных разрядов (триггеров) под разные части кода числа, определяется программной интерпретацией). Обе эти характеристики регистра задаются с помощью описания его разрядной сетки,
Курс лекций по дисциплине «Информационные технологии» для студентов очной формы обучения
|
|
Блок 2: «Аппаратная реализация арифметических операций над числами, |
||
|
|
представленными в машинных кодах» |
|
|
|
Лекция № 10 |
Тема 2.4: «Машинная арифметика. Сложение на двоичном сумматоре |
||
|
|
чисел с разными знаками в машинных кодах. Прямой, обратный и |
||
|
|
дополнительный машинные коды» |
|
|
|
Курс – 34 акад. часа |
Версия 2022 г |
Кафедра вычислительной техники |
Лист 2/10 |
|
|
|
|
|
которая как раз и отражает и количество разрядов и их назначение. Поэтому,
прежде чем приступить к выполнению арифметических действий над машинными кодами чисел, т.е. действий, имитирующих работу АЛУ, первое,
что следует сделать это представить условно-графическое изображение разрядной сетки регистров имеющегося технического устройства.
Подытоживая вышесказанное, такая аппаратура умеет инвертировать,
суммировать и сдвигать влево и вправо содержимое регистров. Причем,
сдвиги в регистрах могут быть как линейными (с выталкиванием и потерей содержимого крайнего разряда), так и кольцевыми, когда содержимое крайнего разряда при выталкивании записывается с противоположного конца
регистра.
И приемы работы машинной арифметики в ЭВМ, машинные коды и
алгоритмы работы с ними подчиняются возможностям аппаратуры.
Выполнение арифметических операций над числами с разными знаками представляется для аппаратной части довольно сложной процедурой. В этом случае нужно определить большее по модулю число,
произвести вычитание и присвоить разности знак большего по модулю числа.
Задача усложняется еще больше, если учесть, что вычислительная техника отказалась от множества технических устройств для выполнения
арифметических операций в пользу всего одного устройства – сумматора.
Следовательно, ничего другого не остается, как только свести все арифметические операции к операции сложения. Чисто математически в этом нет ничего сложного. Скажем, операция умножения может быть заменена на операцию многократного сложения, операция вычитания – на операцию сложения с отрицаемым слагаемым, а операция деления – на операцию
многократного сложения с отрицаемым слагаемым.
Итак, А – В = А + (–В).
Курс лекций по дисциплине «Информационные технологии» для студентов очной формы обучения
Блок 2: «Аппаратная реализация арифметических операций над числами,
представленными в машинных кодах» Лекция № 10 Тема 2.4: «Машинная арифметика. Сложение на двоичном сумматоре
чисел с разными знаками в машинных кодах. Прямой, обратный и дополнительный машинные коды»
|
Курс – 34 акад. часа Версия 2022 г |
Кафедра вычислительной техники |
Лист 3/10 |
|
|
|
|
Теперь весь вопрос в том, как это отрицаемое слагаемое представить в виде машинного кода. И это вполне возможно сделать, используя некий искусственный приём для преобразования обычного (прямого) кода отрицательного числа сначала в инверсный код, называемый обратным, а
потом и в дополнительный код, путем прибавления к обратному коду единицы.
10.2. Прямой, обратный и дополнительный машинные коды
Применение дополнительного кода позволяет выполнить операцию алгебраического суммирования и вычитания на обычном сумматоре. При этом не требуется определения модуля и знака числа.
Прямой код (далее ПК) представляет собой одинаковое представление значимой части числа для положительных и отрицательных чисел и отличается только знаковым битом.
Число «0» в прямом машинном коде имеет два представления «+0» и «–0». На первый взгляд это кажется нелогичным, но и здесь всё объясняется особенностями аппаратуры. Поскольку как минимум один разряд регистра отводится под знак, а по своей физической сути любой разряд регистра представляет собой триггер, т.е. биполярное устройство, то логично, что он всегда будет находиться в одном из своих устойчивых состояний, а значит в нём всегда будет находиться или нолик или единичка, вне зависимости от содержимого значащей части кода. И даже, если в значащей части кода в результате вычислений окажутся только нули, то это еще не означает, что в знаковой части кода в этот же момент тоже будет записан именно «нолик» –
код положительного числа, там вполне может оказаться записана «единичка»
– код отрицательного числа.
Курс лекций по дисциплине «Информационные технологии» для студентов очной формы обучения
Блок 2: «Аппаратная реализация арифметических операций над числами,
представленными в машинных кодах» Лекция № 10 Тема 2.4: «Машинная арифметика. Сложение на двоичном сумматоре
чисел с разными знаками в машинных кодах. Прямой, обратный и дополнительный машинные коды»
|
Курс – 34 акад. часа Версия 2022 г |
Кафедра вычислительной техники |
Лист 4/10 |
|
|
|
|
Таким образом, приведенная выше ситуация вполне может иметь следующую реализацию в регистрах (рисунок 10.1, 10.2):
Знаковая часть кода числа |
Значащая часть кода числа в форме с фиксированной запятой |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 10.1 – Код положительного ноля |
|
||||||
Знаковая часть кода числа |
Значащая часть кода числа в форме с фиксированной запятой |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
Рисунок 10.2 – Код отрицательного ноля
Обратный код (далее ОК) для положительных чисел имеет тот же вид, что и прямой код, поскольку никакие преобразования положительному числу по сути не требуется. А вот отрицательному числу, выступающему в роли отрицаемого слагаемого, такие преобразования совершенно необходимы.
Обратный код отрицательного числа – это инверсный код, т.е.
содержимое всех триггеров значащей части регистра меняется на противоположное и выполняется это через аппаратную или программную реализацию функции инверсии кода – условный «инвертор», далее для простоты – просто инвертор). Инвертор изменяет код на противоположный и нужен он для того, чтобы получать обратный код, причем как из прямого кода, так и из дополнительного.
Неважно, какой тип кода Вы проинвертируете, всё равно полученный код будет называться обратным.
Курс лекций по дисциплине «Информационные технологии» для студентов очной формы обучения
Блок 2: «Аппаратная реализация арифметических операций над числами,
представленными в машинных кодах» Лекция № 10 Тема 2.4: «Машинная арифметика. Сложение на двоичном сумматоре
чисел с разными знаками в машинных кодах. Прямой, обратный и дополнительный машинные коды»
|
Курс – 34 акад. часа Версия 2022 г |
Кафедра вычислительной техники |
Лист 5/10 |
|
|
|
|
В обратном коде число «0» также имеет два представления «+0» и
«– 0».
Дополнительный код (далее ДК) для положительных чисел имеет тот же вид, что и прямой код, а для отрицательных чисел образуется путем прибавления кода «единицы» к обратному коду. Добавление единицы к обратному коду числа «ноль» дает единое представление числа «0» в
дополнительном коде. Однако это приводит к асимметрии диапазонов представления чисел относительно нуля. Так, в восьмиразрядном представлении диапазон изменения чисел с учетом знака.
–128 <= x <= 127
Итак, подытоживая сказанное, хочется отметить, что при преобразовании прямого машинного кода отрицательного числа
(отрицаемого слагаемого) в обратный и дополнительный коды:
1.Знак не инвертируется при переводе в обратный код (инвертор не обрабатывает содержимое этого триггера регистра);
2.При переводе из ОК1 в ДК и из ОК2 в ПК знаки участвуют в операции сложения (сумматор обрабатывает содержимое знакового разряда как значащий).
Пример последовательного преобразования прямого машинного кода
семиразрядного отрицательного числа (-А) ПК(-А): 1 101101 |
по схеме: |
|
|||
ПКА →ОК1А→ДКА→ОК2А→ПКА |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Код |
Код |
Тип |
Действие |
|
|
знака |
||
|
|
числа |
кода |
||
|
|
|
числа |
||
|
|
|
|
|
|
|
|
|
|
|
|
Запись в регистр числа (-А) в прямом коде (ПКА) |
|
|
1 |
101101 |
ПКА |
Операция инверсии прямого кода числа (-А) (ПКА →ОК1А) |
|
|
1 |
010010 |
ОК1А |
Операция сложения на сумматоре инверсного кода ОК1А с кодом единицы |
(ОК1А + ДК «+1») |
|
0 |
000001 |
ДК «+1» |
Запись в регистр результата сложения – дополнительного кода числа (-А) |
(ДКА) |
|
1 |
010011 |
ДКА |
Операция инверсия дополнительного кода числа (-А) (ДКА→ОК2А) |
|
|
1 |
101100 |
ОК2А |
Операция сложения на сумматоре инверсного кода ОК2А с кодом единицы |
(ОК2А + ДК «+1») |
|
0 |
000001 |
ДК «+1» |
Запись в регистр результата сложения – прямого кода числа (-А) (ПКА) |
|
|
1 |
101101 |
ПКА |
Курс лекций по дисциплине «Информационные технологии» для студентов очной формы обучения
Блок 2: «Аппаратная реализация арифметических операций над числами,
представленными в машинных кодах» Лекция № 10 Тема 2.4: «Машинная арифметика. Сложение на двоичном сумматоре
чисел с разными знаками в машинных кодах. Прямой, обратный и дополнительный машинные коды»
|
Курс – 34 акад. часа Версия 2022 г |
Кафедра вычислительной техники |
Лист 6/10 |
|
|
|
|
Схема преобразования кодов работает в обе стороны:
ПК→ инверсия = ОК1→(+1) = ДК→ инверсия = ОК2→(+1) = ПК ДК→ инверсия = ОК2→(+1) = ПК→ инверсия = ОК1→(+1) = ДК,
причем ОК1 и ОК2 — разные коды, так как образуются от инверсии также разных кодов, но тем не менее и тот и другой называются обратными.
Таблица прямого, обратного и дополнительного кода 4-битных чисел
|
|
|
|
|
|
|
|
Десятичное |
|
Машинные коды чисел: Прямой (ПК), Обратный (ОК), |
|||||
|
|
|
Дополнительный (ДК) |
|
|||
число |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПК |
|
ОК |
|
|
ДК |
|
|
|
|
|
|
|||
|
|
|
|
|
|
||
-8 |
|
- |
|
- |
|
|
1 000 |
|
|
|
|
|
|
||
-7 |
|
1 111 |
|
1 000 |
|
|
1 001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
-6 |
|
1 110 |
|
1 001 |
|
|
1 010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
-5 |
|
1 101 |
|
1 010 |
|
|
1 011 |
|
|
|
|
|
|
||
-4 |
|
1 100 |
|
1 011 |
|
|
1 100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
-3 |
|
1 011 |
|
1 100 |
|
|
1 101 |
|
|
|
|
|
|
||
-2 |
|
1 010 |
|
1 101 |
|
|
1 110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
-1 |
|
1 001 |
|
1 110 |
|
|
1 111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
-0 |
|
1 000 |
|
1 111 |
|
|
0 000 |
|
|
|
|
|
|
||
0 |
|
0 000 |
|
0 000 |
|
|
0 000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
1 |
|
0 001 |
|
0 001 |
|
|
0 001 |
|
|
|
|
|
|
||
2 |
|
0 010 |
|
0 010 |
|
|
0 010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
3 |
|
0 011 |
|
0 011 |
|
|
0 011 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
4 |
|
0 100 |
|
0 100 |
|
|
0 100 |
|
|
|
|
|
|
||
5 |
|
0 101 |
|
0 101 |
|
|
0 101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
6 |
|
0 110 |
|
0 110 |
|
|
0 110 |
|
|
|
|
|
|
||
7 |
|
0 111 |
|
0 111 |
|
|
0 111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Из данной таблицы хорошо видно что для положительных чисел
прямой код равен обратному и равен дополнительному ПК+=ОК+=ДК+
А еще из части таблицы, содержащей отрицательные числа, видно, что прямой код в сумме с дополнительным, всё время даёт одно и то же число, в
данном случае, при 4-х разрядной сетке, это число 8. Это число – константа,
Курс лекций по дисциплине «Информационные технологии» для студентов очной формы обучения
Блок 2: «Аппаратная реализация арифметических операций над числами,
представленными в машинных кодах» Лекция № 10 Тема 2.4: «Машинная арифметика. Сложение на двоичном сумматоре
чисел с разными знаками в машинных кодах. Прямой, обратный и дополнительный машинные коды»
|
Курс – 34 акад. часа Версия 2022 г |
Кафедра вычислительной техники |
Лист 7/10 |
|
|
|
|
представляет собой число со степенью на 1 больше, чем величина старшей степени двойки в данной 4-х разрядной сетке, т.е. 23=8.
Получается, что дополнительный код называется дополнительным,
поскольку дополняет прямой код до некой константы, в данной 4-х
разрядной сетке до восьми.
… ….. 23 |
22 21 20 |
|
||
|
|
|
|
|
К3-х разр. = 810 |
1 |
1 |
1 |
– 3х разрядный регистр для записи значащей части кода |
|
710 |
|
|
Давайте посмотрим, каким будет дополнительный код этих же чисел,
но вписанных в другую по размеру разрядную сетку, скажем в 5-ти разрядную.
Таблица прямого, обратного и дополнительного кода 5-битных чисел
|
|
|
|
|
|
|
|
Десятичное |
|
Машинные коды чисел: Прямой (ПК), Обратный (ОК), |
|||||
|
|
|
Дополнительный (ДК) |
|
|||
число |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПК |
|
ОК |
|
|
ДК |
|
|
|
|
|
|
|||
|
|
|
|
|
|
||
-8 |
|
1 1000 |
|
1 0111 |
|
|
1 1111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
-7 |
|
1 0111 |
|
1 1000 |
|
|
1 1001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
-6 |
|
1 0110 |
|
1 1001 |
|
|
1 1010 |
|
|
|
|
|
|
||
-5 |
|
1 0101 |
|
1 1010 |
|
|
1 1011 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
-4 |
|
1 0100 |
|
1 1011 |
|
|
1 1100 |
|
|
|
|
|
|
||
-3 |
|
1 0011 |
|
1 1100 |
|
|
1 1101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
-2 |
|
1 0010 |
|
1 1101 |
|
|
1 1110 |
|
|
|
|
|
|
|
|
-1 |
|
1 0001 |
|
1 1110 |
|
|
1 1111 |
|
|
|
|
|
|
||
-0 |
|
1 0000 |
|
1 1111 |
|
|
0 0000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
0 |
|
0 0000 |
|
0 0000 |
|
|
0 0000 |
|
|
|
|
|
|
||
1 |
|
0 0001 |
|
0 0001 |
|
|
0 0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
2 |
|
0 0010 |
|
0 0010 |
|
|
0 0010 |
|
|
|
|
|
|
||
3 |
|
0 0011 |
|
0 0011 |
|
|
0 0011 |
|
|
|
|
|
|
||
4 |
|
0 0100 |
|
0 0100 |
|
|
0 0100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Курс лекций по дисциплине «Информационные технологии» для студентов очной формы обучения
Блок 2: «Аппаратная реализация арифметических операций над числами,
представленными в машинных кодах» Лекция № 10 Тема 2.4: «Машинная арифметика. Сложение на двоичном сумматоре
чисел с разными знаками в машинных кодах. Прямой, обратный и дополнительный машинные коды»
|
|
Курс – 34 акад. часа Версия 2022 г |
Кафедра вычислительной техники |
|
Лист 8/10 |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
0 0101 |
|
|
0 0101 |
|
0 0101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
6 |
|
0 0110 |
|
|
0 0110 |
|
0 0110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
7 |
|
0 0111 |
|
|
0 0111 |
|
0 0111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Как видно из таблицы, дополнительные коды тех же самых чисел, но вписанных в другую по размеру разрядную сетку отличаются. Константа тоже изменилась и стала равна 24=16
Операции машинной арифметики следует производить в одинаковом коде, либо в прямом, либо в дополнительном, и затем уже предоставить результат вычислений в прямом коде.
Разберём несколько примеров, идентичных тем, что включены в задание на самостоятельную работу № 5.
Пример 1: Представьте прямой машинный код числа со знаком в обратном и дополнительном кодах для 8-ми разрядной сетки (1 знаковый и 7 значащих разрядов):
ПК А: 1 0010111 (2310) |
ОК А: ? |
ДК А: ? |
Поскольку это ПК отрицательного числа, то сначала определим ОК:
ОК А: 1 1101000 (инвертируем значащие разряды кода)
+ 0 0000001
ДК А: 1 1101001 (10510) (получили ДК путём сложения ОК с единицей)
К=27=12810 |
ПК А + ДК А = 23+105=128 |
Теперь преобразуем ДК А в ПК А через ОК А
Курс лекций по дисциплине «Информационные технологии» для студентов очной формы обучения
Блок 2: «Аппаратная реализация арифметических операций над числами,
представленными в машинных кодах» Лекция № 10 Тема 2.4: «Машинная арифметика. Сложение на двоичном сумматоре
чисел с разными знаками в машинных кодах. Прямой, обратный и дополнительный машинные коды»
|
Курс – 34 акад. часа Версия 2022 г |
Кафедра вычислительной техники |
Лист 9/10 |
|
|
|
|
ДК А: 1 1101001
ОК А: 1 0010110
+ 0 0000001
ПК А: 1 0010111 (2310) (получили ДК путём сложения ОК с единицей)
Пример: |
С = А+В |
С= ? |
|
ПК С: ? |
|
|
|
|
|
||||||
1) А=710 |
В= – 410 |
С=310 |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПК В |
1 |
|
1 |
0 |
0 |
ПК А = ОК А = ДК А |
0 |
|
|
1 |
|
1 |
1 |
|
|
|
|
|
|
||
ОК В |
1 |
|
0 |
1 |
1 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
ДК В |
|
1 |
|
|
1 |
|
0 |
0 |
|
|
|
|
|
|
|
ДК В |
1 |
|
1 |
0 |
0 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||
ПК С+ = ОК С+ = ДК С+ |
|
0 |
|
|
0 |
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
С=310 |
310= 310 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Ответ: ПК С: 0 011 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2) А= –710 В= – 410 |
С= –1110 |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПК А |
1 |
|
1 |
1 |
1 |
|
ДК А |
|
1 |
|
|
0 |
|
0 |
1 |
|
|
|
|
|
|
|
|
|
ОК А |
1 |
|
0 |
0 |
0 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
ДК В |
|
1 |
|
|
1 |
|
0 |
0 |
|
|
|
|
|
|
|
|
|
ДК А |
1 |
|
0 |
0 |
1 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|||||
ПК С+ = ОК С+ = ДК С+ |
|
0 |
|
|
1 |
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
С=710 |
710≠ –1110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ответ: результат некорректный, при этом данный факт машиной не определяется.
Курс лекций по дисциплине «Информационные технологии» для студентов очной формы обучения
|
|
|
|
|
Блок 2: «Аппаратная реализация арифметических операций над числами, |
|
|||||||||||||
|
|
|
|
|
представленными в машинных кодах» |
|
|
|
|
|
|
|
|
||||||
|
|
Лекция № 10 |
Тема 2.4: «Машинная арифметика. Сложение на двоичном сумматоре |
|
|||||||||||||||
|
|
|
|
|
чисел с разными знаками в машинных кодах. Прямой, обратный и |
|
|||||||||||||
|
|
|
|
|
дополнительный машинные коды» |
|
|
|
|
|
|
|
|
||||||
|
|
Курс – 34 акад. часа |
Версия 2022 г |
|
|
Кафедра вычислительной техники |
|
Лист 10/10 |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3) А= –710 В= 410 |
С= –310 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПК А |
1 |
|
|
1 |
|
1 |
1 |
|
|
|
ДК А |
|
|
1 |
|
0 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ОК А |
1 |
|
|
0 |
|
0 |
0 |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
ПК В = ОК В = ДК В |
0 |
|
1 |
0 |
0 |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||
ДК А |
1 |
|
|
0 |
|
0 |
1 |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
ДК С |
|
|
1 |
|
1 |
0 |
1 |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ОК С |
|
|
1 |
|
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПК С |
|
|
1 |
|
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
С= –310 |
–310= –310 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Ответ: ПК С: 1 011
4) А=710 |
В= 410 |
С=1110 |
|
|
|
||
|
|
|
|
|
|
||
ПК А = ОК А = ДК А |
0 |
|
1 |
1 |
1 |
||
|
|
|
|
|
|
|
|
ПК В = ОК В= ДК В |
|
0 |
|
1 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
ДК С |
|
1 |
|
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
ОК С |
|
1 |
|
1 |
0 |
0 |
|
|
|
|
|
|
|
|
|
ПК С |
|
1 |
|
1 |
0 |
1 |
|
|
|
|
|
|
|
|
С= –510 |
–510≠ 1110 |
|
|
|
Ответ: результат некорректный, при этом данный факт машиной не определяется
Здесь мы снова получили некорректный результат, но применяемый и алгоритм не позволяет диагностировать проблему переполнения разрядной сетки.