- •Алгебра логики
- •Поразрядные операции
- •Основные законы алгебры логики
- •Т ождества
- •Правила поглощения и склеивания
- •Переход от табличной формы функции алгебры логики к аналитической Запись функции по единицам
- •Запись функции по нулям
- •Логические функции от двух аргументов
- •Стрелка Пирса
- •Функция следования (импликация от a к b)
- •Функция эквивалентность
- •Штрих Шеффера
- •Приоритет основных логических операций
- •Минимизация функций алгебры логики с помощью карт Карно
- •Правило записи функции по карте Карно по единицам
- •Запись функции по нулям
- •Правило записи функции по карте Карно по нулям
Поразрядные операции
Поразрядные операции применяют к двоичным кодам в каждом разряде отдельно.
поразрядная операция НЕ: в языке С/C++ обозначается знаком ~(тильда) ~00110101 11001010 эта операция заменяет каждый 0 на 1 и наоборот.
поразрядная операция ИЛИ: в языке С/C++ обозначается знаком |
э
та
операция обычно используется для того,
чтобы установить 1 в
определенном разряде числа.
п
оразрядная
операция И:
в языке
С/C++ обозначается знаком
&
эта операция
используется для того, чтобы установить
0 в определенном разряде
числа, или для того, чтобы проверить,
стоит ли в определенном разряде 1.
Второй операнд операций & и | обычно называется маской.
В языке С/C++ есть еще операции сдвига, которые тоже относятся к поразрядным. Эти операции применимы только к целым числам.
4) сдвиг влево на n разрядов: X << n приводит к тому, что левые n разрядов кода величины X пропадают, а справа добавляется n нулей:
00110011 << 2 11001100
Каждый сдвиг влево увеличивает число в 2 раза (если слева не пропадают значащие цифры)
5) сдвиг вправо на n разрядов: X >> n приводит к тому, что правые n разрядов кода величины X пропадают, а слева добавляется n нулей:
00110011 >> 2 00001100
Каждый сдвиг вправо приводит к уменьшению числа в 2 раза (деление нацело).
Основные законы алгебры логики
В законах описаны правила равенства (равносильности) функций. Функции считаются равными, если для любых комбинаций значений переменных их значения совпадают.
1) переместительный закон (закон коммутативности):
(От перестановки слагаемых сумма не меняется и от перестановки сомножителей произведение не меняется)
Сочетательный закон (закон ассоциативности)
( этот закон говорит о том, что операции одного приоритета можно вычислять как слева направо, так и справа налево)
Распределительный закон (закон дистрибутивности)
(Эти законы говорят о том,
как раскрывать скобки. Первая форма
этого закона аналогична закону
обычной алгебры:
,
а вот вторая форма этого закона
аналога в обычной алгебре не имеет, но
эту форму можно получить из первой,
заменив все сложения на умножения, а
умножения на сложения.)
Законы двойственности, или инверсии (законы де Моргана)
(Эти законы говорят о том, что операцию логического сложения можно заменить на логическое умножение и наоборот).
Законы де Моргана справедливы для любого количества переменных.
Законы алгебры логики доказывают с помощью таблиц истинности.
Докажем один из законов:
-
A
B
C
A&B
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
2
0
1
0
0
0
0
1
0
3
0
1
1
0
1
1
1
1
4
1
0
0
0
0
1
0
0
5
1
0
1
0
1
1
1
1
6
1
1
0
1
1
1
1
1
7
1
1
1
1
1
1
1
1
Поскольку значения функций, стоящих слева и справа от знака равенства совпадают, следовательно функции равны.
