Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Arkhiv_v_pomosch / Домашняя работа к семинару 3

.pdf
Скачиваний:
14
Добавлен:
11.02.2015
Размер:
1.12 Mб
Скачать

Часть 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