- •Описать что такое побитные операции. Лекция 2: Двоичная и шестнадцатеричная арифметика. Представление чисел.
- •Перевод чисел из одной системы в другую. Перевод двоичных чисел.
- •Перевод 16-тиричных чисел.
- •Перевод десятичного число в двоичное.
- •Представление целых беззнаковых чисел в компьютере.
- •Представление отрицательных чисел в компьютере.
- •Представление вещественных чисел в компьютере.
- •Двоичная арифметика. Сложение двоичных чисел.
- •Вычитание двух чисел.
- •Разные интерпретации одного и того же двоичного числа.
- •Дизъюнкция
- •Равносильность
- •Отрицание
- •Основные законы булевой алгебры
- •Смещение двоичных чисел.
- •Карты Карно. Совершенная дизъюнктивная нормальная форма.
- •Совершенная конъюнктивная нормальная форма.
- •Принципы минимизации
- •Принципы склейки
- •Блок-схемы.
Основные законы булевой алгебры
Две формулы булевой алгебры равносильны (равны, эквивалентны), если равны сопоставляемые им таблицы истинности (т.е. они принимают одинаковые значения на всех наборах значений аргументов). Ниже даны основные законы булевой алгебры, позволяющие проводить тождественные преобразования формул булевой алгебры:
Закон двойного отрицания: not not x = x
Закон коммутативности (от перестановки аргументов результат не меняется): x1 or x2 = x2 or x1 x1 and x2 = x2 and x1
Закон ассоциативности (порядка вычислений): x1 or (x2 or x3) = (x1 or x2) or x3 x1 and (x2 and x3) = (x1 and x2) and x3
Закон дистрибутивности (раскрытия скобок): x1 or (x2 and x3) = (x1 or x2) and (x1 or x3) x1 and (x2 or x3) = (x1 and x2) or (x1 and x3)
Правила де Моргана: not (x1 or x2) = not x1 and not x2 not (x1 and x2) = not x1 or not x2
Правила операций с константами 0 и 1: not 0 = 1, not 1 = 0, x or 0 = x, x or 1 = 1, x and 1 = x, x and 0 = 0
Правила операций с переменной и её инверсией: x or not x = 1 x and not x = 0
Справедливость основных законов (тождеств) булевой алгебры может быть доказана перебором всех значений переменных, входящих в соотношения. Из основных законов можно легко получить следующие важные соотношения:
Закон поглощения: x1 or (x1 and x2) = x1 x1 and (x1 or x2) = x1
Закон идемпотентности (повторное применение не даёт ничего нового): x or x or ... or x = x x and x and ... and x = x
На основании закона дистрибутивности, а также 7-го и 6-го законов: x1 or (not x1 and x2) = x1 or x2
Смещение двоичных чисел.
Если представить двоичное число как регистр смещения, то мы можем смещать имеющиеся там значения вправо или влево. При этом если сместить число влево на N разрядов, то его значение увеличится в 2N раз. При смещении вправо на N разрядов, значение уменьшается в 2N раз. Т.о. можно легко производить деление и умножение на числа, равные степени двойки. Здесь стоит помнить. Что все биты, выходящие при смещении за разрядность, будут потеряны.
Например, возьмём число 0b110011. Сместим его на 3 разряда вправо. 0b000110. И теперь обратно на 3 разряда влево: 0b110000.
Аналогично, если у вас разрядность числа ограничена 8 битами (1 байт), то при смещении влево могут быть потеряны старшие разряды. Например, возьмём тоже число 0b110011 и сместим его на 3 разряда влево. Получим 0b011000. Смещая обратно, получим: 0b000110. Как видите, в обоих случаях мы потеряли значащие биты.
Карты Карно. Совершенная дизъюнктивная нормальная форма.
Для начала введём ряд определений.
Выражение, в котором присутствуют только операции конъюнкции и отрицания, называется элементарной конъюнкцией. При этом каждая переменная в выражении представлена не более чем один раз.
Элементарная конъюнкция, в которую включены все переменные функции, называется основной элементарной конъюнкцией.
Дизъюнкция нескольких элементарных конъюнкций называется дизъюнктивной нормальной формой.
Если все элементарные конъюнкции являются основными, то выражение носит название совершенной дизъюнктивной нормальной формы (СДНФ).
Любую логическую функцию можно представить в виде СДНФ.
Рассмотрим пример. Пусть функция дана в виде таблицы истинности (см. таблицу 10).
-
Таблица 10
X1
X2
Y
0
0
1
0
1
0
1
0
1
1
1
1
Запишем функцию в СДНФ. Для этого производятся следующие действия:
Если переменная равна 0, то она инвертируется. Если единице, то не инвертируется.
Из строки таблицы составляется основная элементарная конъюнкция.
Дизъюнкция полученных выражений составит СДНФ.
Выражение может быть упрощено, т.к. x&1=x, а x&0=0:
Т.е. для получения СДНФ достаточно взять только строки, где Y принимает значение, равное 1.
