Арифметические действия над машинными кодами

Выполнить действия над числами в естественной форме в формате Н:

Задача 1.

Даны два числа А10 = 126 и В10 = 267. Необходимо найти сумму этих чисел при разных знаках. Для этого перевести А10→ А16→ А2 и В10→ В16→ В2.

Решение:

А = 7Е16 =11 11102;

В = 10В16 = 1 0000 10112.

В формате Н эти числа имеют следующий вид:

Ап = 0.000 0000 0111 1110; Вп = 0.000 0001 0000 1011;

д = 1.111 1111 1000 0010; -Вд =1.111 1110 1111 0100;

Выполним сложение чисел, используя соответствующие коды.

А+В = S1

Ап = 0.000 0000 0111 1110

+ Вп = 0.000 0001 0000 1011

S1 = 0.000 0001 1000 1001

-А-В = S2

д = 1.111 1111 1000 0010

+(-Вд ) =1.111 1110 1111 0100

S2 = 1.111 1110 0111 0111

А-В = S3

Ап = 0.000 0000 0111 1110

+(-Вд ) =1.111 1110 1111 0100

S3 = 1.111 1111 0111 0011

-А +В = S4

д = 1.111 1111 1000 0010

п = 0.000 0001 0000 1011

S4 = 0.000 0000 1000 1101

При получении сумм S2 и S4, образовался перенос из знакового разряда, который следует отбросить.

Проверим правильность полученных результатов, осуществив сложение в десятичной системе и сравнив результаты с S1, S2, S3, S4:

А+В = 39310 = 18916 = 0.000 0001 1000 10012;

-А-В = -39310 = -18916 = 1.111 1110 0111 01112;

А-В = -14110 = -8D16 = 1.111 1111 0111 00112;

-А+В = 14110 = 8D16 = 0.000 0000 1000 11012.

Задача 2.

Даны два десятичных числа А = 27154 и В = 7589. Найти суммы (А+В) и (-А-В) в формате Н.

Решение:

А = 6А1216 = 0.110 1010 0001 0010; В = 1DА516 = 0.001 1101 1010 01012

Вычислим для этих чисел соответствующие прямые и дополнительные коды:

Ап = 0.110 1010 0001 0010; Вп = 0.001 1101 1010 0101;

д = 1.001 0101 1110 1110; -Вд = 1.110 0010 0101 1011.

Найдем суммы:

А+В = S1 Ап = 0.110 1010 0001 0010

+

Вп = 0.001 1101 1010 0101

S1 = 1.000 0111 1011 0111

Переведем число S1 из дополнительного кода: вычтем 1 и инвертируем все биты. Получим:

‌‌‌‌‌‌‌׀S1׀ = 0.111 1000 0100 10012 = 3079310

S1 = -3079310

Вычисление в десятичных числах дает: 27154 + 7589 = 3474310

Заметим, что

-30793 = 34743 – 65536 = 34743 – 216

-А-В = S2

10.000 1111 1111 1100 (перенос)

д = 1.001 0101 1110 1110

+

д = 1.110 0010 0101 1011

S2 =.0.111 1000 0100 1001

S2 = 0.111 1000 0100 10012 = 3079310

Вычисление в десятичных числах дает: -27154 – 7589 = -3474310

Заметим, что

30793 = -34743 + 65536 = -34743 + 216

Полученные суммы не соответствуют результатам проверки, т.к. при сложении положительных чисел получили отрицательное S1 и при сложении отрицательных чисел получили положительное S2. Это происходит в результате переполнения разрядов и при появлении такой ошибки операционная система компьютера вырабатывает запрос на прерывание программы.

Логические основы построения компьютера

Задача 1.

Упростить логическое выражение Арифметические действия над машинными кодами - student2.ru

= Арифметические действия над машинными кодами - student2.ru

= Арифметические действия над машинными кодами - student2.ru

Задача 2.

Упростить логические выражения:

Арифметические действия над машинными кодами - student2.ru и Арифметические действия над машинными кодами - student2.ru

Решение:

1) Арифметические действия над машинными кодами - student2.ru = Арифметические действия над машинными кодами - student2.ru

2) Арифметические действия над машинными кодами - student2.ru

Задача 3.

Построить таблицу истинности для логического выражения

Арифметические действия над машинными кодами - student2.ru

A B C Арифметические действия над машинными кодами - student2.ru Арифметические действия над машинными кодами - student2.ru Арифметические действия над машинными кодами - student2.ru Арифметические действия над машинными кодами - student2.ru C+B Y

Задача 4.

Построить таблицу истинности для логического выражения

Арифметические действия над машинными кодами - student2.ru

A B C Арифметические действия над машинными кодами - student2.ru Арифметические действия над машинными кодами - student2.ru Арифметические действия над машинными кодами - student2.ru Арифметические действия над машинными кодами - student2.ru Y

Задача 4.

Булевы выражения - это метод описания принципа работы логической схемы. Таблицы истинности – это другой метод описания работы логической схемы. Синтез (конструирование) логических схем начинается с составления таблицы истинности. Затем информация о правилах работы логической схемы, которая задана в виде таблицы, преобразуется в булево выражение.

Основной принципперехода от таблицы истинности к булеву выражению состоит в том, что в булево выражение включаются те комбинации входных переменных, которые дают единицу выходной переменной в таблице истинности.

Разработать булево выражение по таблице истинности, которая имеет следующий вид:

Входы Выход
С B A Y

Ответ. Арифметические действия над машинными кодами - student2.ru

Задача 5.

Упростить выражение и построить логическую схему для выражения

Арифметические действия над машинными кодами - student2.ru

Решение:

Арифметические действия над машинными кодами - student2.ru

Задача 6.

Упростить выражение и построить логическую схему для выражения

Арифметические действия над машинными кодами - student2.ru

Арифметические действия над машинными кодами - student2.ru

Задача 7.

Сложение двоичных чисел выполняется в соответствии с таблицей истинности

a b Арифметические действия над машинными кодами - student2.ru = a+b Перенос С1
 
 
 

Разработать по этой таблице булево выражение и синтезировать схему полусумматора из базовых логических элементов.

Решение:

Из таблицы видно, что состояние выхода переноса С1 можно описать булевым выражением С1 = a×b. Следовательно, схемной реализацией этого выражения будет схема И. Состояние выхода полусумматора будет описываться выражением Арифметические действия над машинными кодами - student2.ru .

Арифметические действия над машинными кодами - student2.ru

Задача 8.

Разработать по таблице истинности булево выражение и синтезировать схему триггера из базовых логических элементов.

R S Q Арифметические действия над машинными кодами - student2.ru Арифметические действия над машинными кодами - student2.ru
Недопустимая комбинация
Предыдущее состояние

Решение:

Для получения булевого выражения для значений Q и Арифметические действия над машинными кодами - student2.ru составим так называемые карты Карно (слева для Q, справа для Арифметические действия над машинными кодами - student2.ru ):

Q
  R R Арифметические действия над машинными кодами - student2.ru Арифметические действия над машинными кодами - student2.ru
S H H
Арифметические действия над машинными кодами - student2.ru
  Арифметические действия над машинными кодами - student2.ru Q Q Арифметические действия над машинными кодами - student2.ru
 
 
 
 
 

Арифметические действия над машинными кодами - student2.ru

Эти диаграммы также, как и таблица, описывают значения Q и Арифметические действия над машинными кодами - student2.ru . Значения выходных величин следует искать на пересечении строки и столбца по соответствующим значениям входных и выходных величин (чтобы учесть «Предыдущее состояние» при S=R=0. Из этих диаграмм наглядно видно, что

Арифметические действия над машинными кодами - student2.ru

Арифметические действия над машинными кодами - student2.ru

Недопустимое значение S=R=1дает при вычислении по этим формулам дает Q= Арифметические действия над машинными кодами - student2.ru =0, что противоречит логике схемы. Комбинация входных сигналов S=R=1 является запрещенной и требует специальных схемотехнических решений, чтобы её не допустить. Это является недостатком RS-триггера.

Преобразуем полученные формулы:

Арифметические действия над машинными кодами - student2.ru

Арифметические действия над машинными кодами - student2.ru

Арифметические действия над машинными кодами - student2.ru

Задача 9.

Создать булевы выражения по таблицам истинности и разработать логические схемы:

Входы Выход   Входы Выход     Входы Выход
С В А Y С В А Y С В А Y

Решение:

Арифметические действия над машинными кодами - student2.ru

Возможны различные способы построения логических схем, реализующих заданные функции. Выбор того или иного варианта зависит от дополнительных требований к схеме. В частности, схема для Y3, соответствующая последнему выражению, проще, чем исходному, однако для вычисления по ней требуется 4 такта, в то время как по исходному выражению – три. Предположим, что нам требуется построить автомат, реализующий совместное вычисление всех трех функций Y1, Y2,Y3. В этом случае удобнее будет воспользоваться исходными выражениями для функций, т.к. можно будет использовать промежуточные результаты для вычисления нескольких функций. Схема:

Арифметические действия над машинными кодами - student2.ru

Задача 10.

Разработать логическую схему 2-х уровнего иерархического управления организацией.

Решение:

Иерархическая структура – многоуровневая форма организации объектов со строгой соотнесенностью объектов нижнего уровня определенному объекту верхнего уровня. «У подчиненного может быть только один руководитель». Графически представляется в виде дерева.

Арифметические действия над машинными кодами - student2.ru

Список использованной литературы

1. Власов В.К., Королев Л.Н. Элементы информатики./ Под. Ред. Л.Н. Королева.- М.: Наука, 2008 г. – 480 с.

2. Информатика. / Под ред. Н.В. Макаровой. – М.: Финансы и статистика, 2007. – 768 с.

3. Информатика: Учебник для вузов. / Под ред. С.В. Симоновича. – СПб.: Питер, 2008. – 524 с.

4. Кураков Л.П., Лебедев Е.К. Информатика. – М.: Вуз и школа, 2009. – 636с.

5. Могилев и др. Информатика: Учебное пособие для вузов / А.В.Могилев, Н.И.Пак, Е.К.Хеннер; Под ред. Е.К. Хеннера. - М.: Изд. центр "Академия", 2008. – 360 с.

Наши рекомендации