
Arkhiv_v_pomosch / Домашняя работа к семинару 3
.pdfЧасть 7. Вычитание с переводом в дополнительный код.
Теория:
В |
ЭВМ |
применяется |
прямой, |
обратный |
и |
дополнительный |
коды. |
Прямой кoд испoльзуется для представления oтрицательных чисел в запоминающем устройстве ЭВМ, а также при умножении и делении. Обратный и дополнительный коды используются для замены oпeрации вычитания опeрацией слoжения, чтo упрощает устройствo арифметического блока ЭВМ.
Прямой код. Прямой код числа в двоичной системе счисления совпадает по изoбражению с записью самoгo числа в двоичной системе счисления. Значение
Несмотря на то, что современные вычислительные средства позволяют постить овсянку в инстаграмм и мочить школие танчиками, в основе своей они примитивны. Только и могут что складывать. Соответственно все арифметические операции заменены сложением. Так и паять проще и вообще.
Вычитание – это сложение с дополнительным кодом вычитаемого. a – b => a + dopKod(b)
Чтобы отличать отрицательные числа от положительных первый бит назначается знаковым. Если он равен 0 число положительно, если 1 то соответственно отрицательно.
Алгоритм подготовки вычитаемого к сложению Преобразовать в дополнительный код и дописать в знаковый бит 1. Дополнительный код получается в 2 действия.
1.Поразрядная инверсия числа 10011 -> 01100. Инверсия – это замена 0 на 1, а 1 на 0.
2.К инвертированному числу надо прибавить 1. 01100 -> 01101
3.В знаковый бит дописать 1. 01101 -> 101101
Ответ может быть как положителен, так и отрицателен. Определяется знаковым битом.
Если положительно, то все хорошо. Если отрицательно, то надо перегнать из доп кода в прямой код.
Пример.
110011 – 101101 1. К уменьшаемому (это первое число) дописать знаковый бит.
Оно положительно, дописываем 0
110011 -> 0110011
2.
2.1. Из вычитаемого (второе число) получить дополнительный код
101101 -> 010011 2.2. Дописать знаковый бит
010011 -> 1010011
3.Сложить полученные числа
0110011
1010011
10000110
в знаковом бите 0, значит ответ положителен Лишние числа отбрасываются.
Дополнение.
Чтобы было сложнее, чуть-чуть про переполнение.
это в тетрадке клеточек полно, а в реальной жизни разряды 2оичных чисел конечны. Что порождает проблему переполнения. При переполнении результат операции неправилен.
Например у нас всего 4 разряда. С их помощью можно записать числа от 0 до 15 или от -8 до 8. Но никто не мешает сложить 7 и 7, надеясь получить 14. А получится что-то другое:)
Признаком переполнения служат 2последних переноса. Перенос – это числа в уме, те что пишутся мелкими цифрами над столбиком чисел.
Если 2 последних переноса разные 01 10 то все плохо. Переполнение. Если одинаковые 00 или 11 то все путем.
пример Дано 4 разряда
-5 – 4
5 в двоичной 101
доп код |
101 -> 010 |
плюс 1 |
010 -> 011 |
знаковый бит 011 -> 1011
4 в двоичной 100
доп код |
011 |
плюс 1 |
100 |
знаковый бит 100 -> 1100
Складываем 2 числа
в уме - > 10000 1011 +1100 10111
последние два разные, значит переполнение. Ну оно и понятно в знаковом бите 0, типа число положительное и равно 7. -5 – 4 = 7. Ошибка. Переполнение.

Пример 2:

Часть 8. Построение таблиц истинности булевой функции.
Теория:
Алгеброй называется множество с определенными на нем операциями. Обычно, алгебра задается следующей парой: (Ω;M), где M - множество элементов алгебры; Ω - сигнатура, включающая в себя множество операций над элементами алгебры.
Алгеброй логики называется алгебра, в которой М - множество логических переменных и функций, а Ω имеет следующий вид:
Ω={ , , , ↓, /, ~, →, }
Функцией алгебры логики (логической функцией или булевой функцией) называется функция, аргументы которой и ее значения могут принимать значения из двух-элементарного множества. (Чаще всего это множества, содержащие 0 и 1)
Любая логическая функция n-переменных может быть задана в виде таблицы, в которой в левой ее части перечислены 2n наборов значений переменных, а в правой части этой таблицы значение функций на этих наборах. Такая таблица так же называется таблицей истинности.
Наборы переменных в левой части таблицы расположены в соответствии с порядком возрастания, причем сами эти наборы рассматриваются как двоичные числа.
При построении таблиц истинности заданных высказываний используются таблицы истинности элементарных булевых функций.
Таблицы истинностей булевых функций:
Конъюнкция:
X1 |
X2 |
X1 X2 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Конъюнкцию называют также логическим умножением. Конъюнкция обозначается также A*B или A&B .
Дизъюнкция:
X1 |
X2 |
X1 X2 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Дизъюнкция обозначается также A+B .
Сложение по модулю два (неравнозначность):
X1 |
X2 |
X1 X2 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
Неравнозначность называют также суммой по модулю 2, суммой Жегалкина, прямой суммой, строгой

дизъюнкцией.
Импликация (следование):
X1 |
X2 |
X1→X2 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
Импликацию называют также следуемостью. Импликация обозначается также A B или A B .
Эквиваленция:
X1 |
X2 |
X1~X2 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Эквиваленцию двух высказываний называют также равнозначностью, равносильностью, тождественностью. Эквиваленция обозначается также A = B или A B или A~ B .
Стрелка Пирса:
X1 |
X2 |
X1↓X2 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
Штрих Шеффера:
|
X1 |
|
X2 |
X1/X2 |
||||
|
0 |
|
|
0 |
|
1 |
||
|
0 |
|
|
1 |
|
1 |
||
|
1 |
|
|
0 |
|
1 |
||
|
1 |
|
|
1 |
|
0 |
||
|
Отрицание: |
|||||||
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
0 |
|
|
1 |
|
|
|
|
|
1 |
|
|
0 |
|
|
|
Иерархия булевых функций:
действия в скобках, отрицание,
конъюнкция, дизъюнкция, неравнозначеность,
эквиваленция, импликация
(операции, стоящие на одном уровне, при отсутствии скобок выполняются в порядке их появления в записи формулы слева направо).

Пример: Составить таблицу истинности для функции (1, 2) = (( 1& 2) 1) 2;
Выполняется "по действиям", как в 5м классе.
x1 |
x2 |
1& 2 |
( 1& 2) 1 |
(( 1& 2) 1) 2 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
Приведение функций к СДНФ и СКНФ.
Теория:
Полной конъюнкцией n переменных называется конъюнкция, состоящая из n переменных или их отрицаний, в которых каждая переменная встречается только 1 раз.
СДНФ логической функции называется формула, представляющая данную логическую функцию и имеющая вид дизъюнкции полных конъюнкций, которая формируется для наборов переменных, для которых функция f=1;
(1, 2, … , ) = 1 1 & 2 2 & … & |
(1, 2, … , ) = 1 |
Полной дизъюнкцией n переменных называется дизъюнкция, состоящая из n переменных или их отрицаний, в которых каждая переменная встречается только 1 раз.
СКНФ логической функции называется формула, представляющая данную логическую функцию и имеющая вид дизъюнкции полных дизъюнкций, которая формируется для наборов переменных, для которых функция f=0;
(1, 2, … , ) = 1 1 2 2 … |
(1, 2, … , ) = 0 |


Часть 9. Построение СКНФ.
X1 X2 X3 X4 f |
||||
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
Часть 10. Построение СДНФ.
X1 X2 X3 X4 f
0 0
0
0
1
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
|
|||||||
|
0 |
|
1 |
|
0 |
|
0 |
|
0 |
|
||
0 |
1 |
0 |
1 |
0 |
|
|||||||
|
0 |
|
1 |
|
1 |
|
0 |
|
1 |
|
||
|
0 |
|
|
1 |
|
1 |
|
1 |
|
|
0 |
|
1 |
0 |
0 |
0 |
0 |
|
|||||||
1 |
0 |
0 |
1 |
0 |
|
|||||||
1 |
0 |
1 |
0 |
0 |
|
|||||||
1 |
0 |
1 |
1 |
0 |
|
|||||||
1 |
1 |
0 |
0 |
0 |
|
|||||||
1 |
1 |
0 |
1 |
0 |
|
|||||||
|
1 |
|
1 |
|
1 |
|
0 |
|
1 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
1 1
1
1
1
Для того, чтобы получить СКНФ функции, требуется составить её таблицу истинности.
В ячейках строки́ ( 1, 2, 3, 4) отмечаются лишь те комбинации, которые приводят логическое выражение в состояние нуля.
Четвёртая строка содержит 0 в указанном поле. Отмечаются значения всех четырёх переменных, это:
x1=0; x2=0; x3=1; x4=1;
В дизъюнкцию записывается переменная без инверсии, если она в наборе равна 0, и с инверсией, если она равна 1. Первый член СКНФ рассматриваемой функции выглядит так:
1 2 3 4
Остальные члены СКНФ составляются по аналогии.
Далее записывается конъюнкция элементарных дизъюнкций.
Для того, чтобы получить СКНФ функции, требуется составить её таблицу истинности.
В ячейках строки́ ( 1, 2, 3, 4) отмечаются лишь те комбинации, которые приводят логическое выражение в состояние единицы.
Третья строка содержит 1 в указанном поле. Отмечаются значения всех четырёх переменных, это:
x1=0; x2=0; x3=1; x4=0;
В дизъюнкцию записывается переменная без инверсии, если она в наборе равна 1, и с инверсией, если она равна 0. Первый член СДНФ рассматриваемой функции выглядит так:
1& 2& 3& 4
Остальные члены СКНФ составляются по аналогии.
Далее записывается дизъюнкция элементарных конъюнкций.

Задания:
//Домашнюю работу написать ПОНЯТНО, не жалея чернил и бумаги, слово ОТВЕТ ОБЯЗАТЕЛЬНО!!!
Часть 7. Выполните вычитание с переводом в дополнительный код (смотрим теорию выше и еще раз разбираемся):
1.101101 - 10011 и 10011 - 101101;
разобрано в примере 2 - написать также, слово в слово;
2.100101 - 10111 и 10111 - 100101;
3.101001 - 11011 и 11011 -1011001;
4.110110 - 11100 и 11100 -110110;
Часть 8. Составить таблицы истинности для следующих функций:
1. = ( ⁄ ( )) ;
2. |
= ( ) ( ) ; |
3. |
= ( ) (( ) ( ↓ )⁄ ); |
4. |
|
Часть 9. Постройте СКНФ и СДНФ для каждой из следующих таблиц истинности: |
|
|
|
|
|
|||||||||||||||||||||||
|
x |
|
y |
|
z |
|
f |
|
|
|
x |
|
y |
|
v |
|
f |
|
|
|
x1 |
|
x2 |
|
x3 |
|
f |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
0 |
|
0 |
|
0 |
|
0 |
|
|
|
0 |
|
0 |
|
0 |
|
0 |
|
|
|
0 |
|
0 |
|
0 |
|
0 |
|
|
0 |
|
0 |
|
1 |
|
0 |
|
|
|
0 |
|
0 |
|
1 |
|
1 |
|
|
|
0 |
|
0 |
|
1 |
|
1 |
|
|
0 |
|
1 |
|
0 |
|
1 |
|
|
|
0 |
|
1 |
|
0 |
|
1 |
|
|
|
0 |
|
1 |
|
0 |
|
1 |
|
|
0 |
|
1 |
|
1 |
|
0 |
|
|
|
0 |
|
1 |
|
1 |
|
1 |
|
|
|
0 |
|
1 |
|
1 |
|
0 |
|
|
1 |
|
0 |
|
0 |
|
0 |
|
|
|
1 |
|
0 |
|
0 |
|
0 |
|
|
|
1 |
|
0 |
|
0 |
|
1 |
|
|
1 |
|
0 |
|
1 |
|
0 |
|
|
|
1 |
|
0 |
|
1 |
|
0 |
|
|
|
1 |
|
0 |
|
1 |
|
1 |
|
|
1 |
|
1 |
|
0 |
|
0 |
|
|
|
1 |
|
1 |
|
0 |
|
0 |
|
|
|
1 |
|
1 |
|
0 |
|
0 |
|
|
1 |
|
1 |
|
1 |
|
1 |
|
|
|
1 |
|
1 |
|
1 |
|
1 |
|
|
|
1 |
|
1 |
|
1 |
|
1 |
|