Логические схемы и их обозначения. Логические элементы и их схемная реализация

Назначение сервиса . Онлайн-калькулятор предназначен для построения таблицы истинности для логического выражения .
Таблица истинности – таблица содержащая все возможные комбинации входных переменных и соответствующее им значения на выходе.
Таблица истинности содержит 2 n строк, где n – число входных переменных, и n+m – столбцы, где m – выходные переменные.

Инструкция . При вводе с клавиатуры используйте следующие обозначения: Например, логическое выражение abc+ab~c+a~bc необходимо ввести так: a*b*c+a*b=c+a=b*c
Для ввода данных в виде логической схемы используйте этот сервис .

Правила ввода логической функции

  1. Вместо символа v (дизъюнкция, ИЛИ) используйте знак + .
  2. Перед логической функцией не надо указывать обозначение функции. Например, вместо F(x,y)=(x|y)=(x^y) необходимо ввести просто (x|y)=(x^y) .
  3. Максимальное количество переменных равно 10 .

Проектирование и анализ логических схем ЭВМ ведётся с помощью специального раздела математики - алгебры логики. В алгебре логики можно выделить три основные логические функции: "НЕ" (отрицание), "И" (конъюнкция), "ИЛИ" (дизъюнкция).
Для создания любого логического устройства необходимо определить зависимость каждой из выходных переменных от действующих входных переменных такая зависимость называется переключательной функцией или функцией алгебры логики.
Функция алгебры логики называется полностью определённой если заданы все 2 n её значения, где n – число выходных переменных.
Если определены не все значения, функция называется частично определённой.
Устройство называется логическим, если его состояние описывается с помощью функции алгебры логики.
Для представления функции алгебры логики используется следующие способы:

  • словесное описание – это форма, которая используется на начальном этапе проектирования имеет условное представление.
  • описание функции алгебры логики в виде таблицы истинности.
  • описание функции алгебры логики в виде алгебраического выражения: используется две алгебраические формы ФАЛ:
    а) ДНФ – дизъюнктивная нормальная форма – это логическая сумма элементарных логических произведений. ДНФ получается из таблицы истинности по следующему алгоритму или правилу:
    1) в таблице выбираются те строки переменных для которых функция на выходе =1 .
    2) для каждой строки переменных записывается логическое произведение; причём переменные =0 записываются с инверсией.
    3) полученное произведение логически суммируется.
    Fднф= X 1 *Х 2 *Х 3 ∨ Х 1 x 2 Х 3 ∨ Х 1 Х 2 x 3 ∨ Х 1 Х 2 Х 3
    ДНФ называется совершенной, если все переменные имеют одинаковый ранг или порядок, т.е. в каждое произведение обязательно должны включаться все переменные в прямом или инверсном виде.
    б) КНФ – конъюнктивная нормальна форма – это логическое произведение элементарных логических сумм.
    КНФ может быть получена из таблицы истинности по следующему алгоритму:
    1) выбираем наборы переменных для которых функция на выходе =0
    2) для каждого набора переменных записываем элементарную логическую сумму, причём переменные =1 записываются с инверсией.
    3) логически перемножаются полученные суммы.
    Fскнф=(X 1 V X 2 V X 3) ∧ (X 1 V X 2 V X 3) ∧ (X 1 V X 2 V X 3) ∧ (X 1 V X 2 V X 3)
    КНФ называется совершенной , если все переменные имеют одинаковый ранг.
По алгебраической форме можно построить схему логического устройства , используя логические элементы.

Рисунок1- Схема логического устройства

Все операции алгебры логики определяются таблицами истинности значений. Таблица истинности определяет результат выполнения операции для всех возможны х логических значений исходных высказываний. Количество вариантов, отражающих результат применения операций, будет зависеть от количества высказываний в логическом выражении. Если число высказываний в логическом выражении N, то таблица истинности будет содержать 2 N строк, так как существует 2 N различных комбинаций возможных значений аргументов.

Операция НЕ - логическое отрицание (инверсия)

Логическая операция НЕ применяется к одному аргументу, в качестве которого может быть и простое, и сложное логическое выражение. Результатом операции НЕ является следующее:
  • если исходное выражение истинно, то результат его отрицания будет ложным;
  • если исходное выражение ложно, то результат его отрицания будет истинным.
Для операции отрицания НЕ приняты следующие условные обозначения:
не А, Ā, not A, ¬А, !A
Результат операции отрицания НЕ определяется следующей таблицей истинности:
A не А
0 1
1 0

Результат операции отрицания истинен, когда исходное высказывание ложно, и наоборот.

Операция ИЛИ - логическое сложение (дизъюнкция, объединение)

Логическая операция ИЛИ выполняет функцию объединения двух высказываний, в качестве которых может быть и простое, и сложное логическое выражение. Высказывания, являющиеся исходными для логической операции, называют аргументами. Результатом операции ИЛИ является выражение, которое будет истинным тогда и только тогда, когда истинно будет хотя бы одно из исходных выражений.
Применяемые обозначения: А или В, А V В, A or B, A||B.
Результат операции ИЛИ определяется следующей таблицей истинности:
Результат операции ИЛИ истинен, когда истинно А, либо истинно В, либо истинно и А и В одновременно, и ложен тогда, когда аргументы А и В - ложны.

Операция И - логическое умножение (конъюнкция)

Логическая операция И выполняет функцию пересечения двух высказываний (аргументов), в качестве которых может быть и простое, и сложное логическое выражение. Результатом операции И является выражение, которое будет истинным тогда и только тогда, когда истинны оба исходных выражения.
Применяемые обозначения: А и В, А Λ В, A & B, A and B.
Результат операции И определяется следующей таблицей истинности:
A B А и B
0 0 0
0 1 0
1 0 0
1 1 1

Результат операции И истинен тогда и только тогда, когда истинны одновременно высказывания А и В, и ложен во всех остальных случаях.

Операция «ЕСЛИ-ТО» - логическое следование (импликация)

Эта операция связывает два простых логических выражения, из которых первое является условием, а второе - следствием из этого условия.
Применяемые обозначения:
если А, то В; А влечет В; if A then В; А→ В.
Таблица истинности:
A B А → B
0 0 1
0 1 1
1 0 0
1 1 1

Результат операции следования (импликации) ложен только тогда, когда предпосылка А истинна, а заключение В (следствие) ложно.

Операция «А тогда и только тогда, когда В» (эквивалентность, равнозначность)

Применяемое обозначение: А ↔ В, А ~ В.
Таблица истинности:
A B А↔B
0 0 1
0 1 0
1 0 0
1 1 1

Операция «Сложение по модулю 2» (XOR, исключающее или, строгая дизъюнкция)

Применяемое обозначение: А XOR В, А ⊕ В.
Таблица истинности:
A B А⊕B
0 0 0
0 1 1
1 0 1
1 1 0

Результат операции эквивалентность истинен только тогда, когда А и В одновременно истинны или одновременно ложны.

Приоритет логических операций

  • Действия в скобках
  • Инверсия
  • Конъюнкция (&)
  • Дизъюнкция (V), Исключающее ИЛИ (XOR), сумма по модулю 2
  • Импликация (→)
  • Эквивалентность (↔)

Совершенная дизъюнктивная нормальная форма

Совершенная дизъюнктивная нормальная форма формулы (СДНФ) это равносильная ей формула, представляющая собой дизъюнкцию элементарных конъюнкций, обладающая свойствами:
  1. Каждое логическое слагаемое формулы содержит все переменные, входящие в функцию F(x 1 ,x 2 ,...x n).
  2. Все логические слагаемые формулы различны.
  3. Ни одно логическое слагаемое не содержит переменную и её отрицание.
  4. Ни одно логическое слагаемое формулы не содержит одну и ту же переменную дважды.
СДНФ можно получить или с помощью таблиц истинности или с помощью равносильных преобразований.
Для каждой функции СДНФ и СКНФ определены единственным образом с точностью до перестановки.

Совершенная конъюнктивная нормальная форма

Совершенная конъюнктивная нормальная форма формулы (СКНФ) это равносильная ей формула, представляющая собой конъюнкцию элементарных дизъюнкций, удовлетворяющая свойствам:
  1. Все элементарные дизъюнкции содержат все переменные, входящие в функцию F(x 1 ,x 2 ,...x n).
  2. Все элементарные дизъюнкции различны.
  3. Каждая элементарная дизъюнкция содержит переменную один раз.
  4. Ни одна элементарная дизъюнкция не содержит переменную и её отрицание.

Несмотря на простоту реализуемой логической функции способов создания инверторов немного (рис. 2.2).

Рис. 2.2. Схемы реализации инверсии на различных элементах: а – инверторе; б – ИЛИ-НЕ; в – И-НЕ; г – импликаторе; д – равнозначности; е – запрета; ж – исключающее ИЛИ

Собственно инвертор и элементы ИЛИ-НЕ и И-НЕ не требуют наличия дополнительных опорных напряжений. Импликатор и элемент равнозначности нуждаются в нулевом логическом уровне, а элементы запрета и исключающее ИЛИ – в уровне единицы.

Способов реализации дизъюнкции (рис. 2.3) значительно меньше по сравнению с ранее рассмотренными заменами.

Отметим, что проще всего заменить дизъюнкторы элементами ИЛИ-НЕ и импликаторами, которые включают в себя операцию дизъюнкции в качестве одной из основных. В этом случае для замены требуется всего два элемента (рис. 2.3 б , в ). В случае же использования элементов И-НЕ и запрета для замены дизъюнктора необходимо иметь три элемента (рис. 2.3 г , д ).

По составу и структуре схемы конъюнкторов (рис. 2.4) похожи на схемы, показанные на рис. 2.3, только здесь операция дизъюнкции заменена на конъюнкцию, и наоборот.

Рис. 2.3. Схемы реализации дизъюнкции на различных элементах: а – дизъюнкторе; б – импликаторах; в – ИЛИ-НЕ; г – И-НЕ; д – запрета

Рис. 2.4. Схемы реализации конъюнкции на различных элементах: а – конъюнкторе; б – запрета; в – И-НЕ; г – ИЛИ-НЕ; д – импликаторах

Для импликаторов вариантов замены еще меньше (рис.2.5), чем для конъюнкторов. Примечательно то, что даже операция дизъюнкции в элементе ИЛИ-НЕ «не выручает», поскольку они требуются в количестве трех штук.

В схемотехнике ТТЛ очень часто используются сложные логические элементы И-ИЛИ и И-ИЛИ-НЕ, которые позволяют реализовывать логические функции, представленные в прямой и (или) инверсной дизъюнктивных нормальных формах. Показанный на рис. 2.6 а логический элемент 2-4-2-3И - 4ИЛИ - НЕ способен производить следующую логическую операцию:

Рис. 2.5. Схемы реализации импликации на различных элементах: а – импликаторе; б – ИЛИ-НЕ; в – И-НЕ; г – запрета

Рис. 2.6. Варианты логических элементов И-ИЛИ и И-ИЛИ-НЕ: а – 2-4-2-3И – 4ИЛИ – НЕ; б - 2-2-2-2И – 4ИЛИ/2-2-2-2И – 4ИЛИ-НЕ с возможностью расширения по ИЛИ; в – два четырехвходовых логических расширителя по ИЛИ

В других микросхемах, представляющих собой комбинированные элементы, используются не только расширители по ИЛИ, но и прямые и инверсные выходы одновременно (рис. 2.6 б ). Микросхемы, являющиеся расширителями по ИЛИ (рис. 2.6 в ), имеют дополнительные выходы коллектора (К) и эмиттера (Э), подключаемые к соответствующим клеммам основного элемента И-ИЛИ/И-ИЛИ-НЕ (см. рис. 2.6 б ).

Показанные на рис. 2.6 варианты не исчерпывают список логических элементов И-ИЛИ и И-ИЛИ-НЕ, выпускаемых промышленностью. Их разновидности приведены в соответствующих справочниках.

Рассмотренные элементы позволяют получать устройства различной сложности и реализовывать функции, представленные в дизъюнктивной нормальной или инвертированной форме, что согласуется с операцией минимизации по нулям.

Широко применяются эти элементы с более простыми интегральными микросхемами: инверторами, элементами И-НЕ и др.

В качестве примера рассмотрим схемы реализации функций равнозначности и неравнозначности на основе элементов И-ИЛИ-НЕ и инверторов (рис.2.7). Логика построения этих схем следует из взаимной инверсности функций равнозначности и неравнозначности.

Рис. 2.7. Схемы устройств, исключающее ИЛИ (а ) и равнозначности (б ) на основе инверторов и элементов И-ИЛИ-НЕ

Представляет интерес и вариант реализации функции равнозначности с применением элемента И-НЕ (рис. 2.8).

Рис. 2.8. Схема устройства равнозначности на основе элементов И-НЕ и И-ИЛИ-НЕ

Обоснование этой схемы следует из преобразований основной формулы равнозначности с помощью формул Моргана

В данной статье расскажем что такое логические элементы, рассмотрим самые простые логические элементы.

Любое цифровое устройство — персональный компьютер, или современная система автоматики состоит из цифровых интегральных микросхем (ИМС), которые выполняют определённые сложные функции. Но для выполнения одной сложной функции необходимо выполнить несколько простейших функций. Например, сложение двух двоичных чисел размером в один байт происходит внутри цифровой микросхемы называемой «процессор» и выполняется в несколько этапов большим количеством логических элементов находящихся внутри процессора. Двоичные числа сначала запоминаются в буферной памяти процессора, потом переписываются в специальные «главные» регистры процессора, после выполняется их сложение, запоминание результата в другом регистре, и лишь после результат сложения выводится через буферную память из процессора на другие устройства компьютера.

Процессор состоит из функциональных узлов: интерфейсов ввода-вывода, ячеек памяти – буферных регистров и «аккумуляторов», сумматоров, регистров сдвига и т.д. Эти функциональные узлы состоят из простейших логических элементов, которые, в свою очередь состоят из полупроводниковых транзисторов, диодов и резисторов. При конструировании простых триггерных и других электронных импульсных схем, сложные процессоры не применить, а использовать транзисторные каскады – «прошлый век». Тут и приходят на помощь – логические элементы .

Логические элементы , это простейшие «кубики», составные части цифровой микросхемы, выполняющие определённые логические функции. При этом, цифровая микросхема может содержать в себе от одного, до нескольких единиц, десятков, …и до нескольких сотен тысяч логических элементов в зависимости от степени интеграции. Для того, чтобы разобраться, что такое логические элементы , мы будем рассматривать самые простейшие из них. А потом, наращивая знания, разберёмся и с более сложными цифровыми элементами.

Начнём с того, что единица цифровой информации это «один бит». Он может принимать два логических состояния – логический ноль «0», когда напряжение равно нулю (низкий уровень), и состояние логической единицы «1», когда напряжение равно напряжению питания микросхемы (высокий уровень).

Поскольку простейший логический элемент это электронное устройство, то это означает, что у него есть входы (входные выводы) и выходы (выходные выводы). И входов и выходов может быть один, а может быть и больше.

Для того, чтобы понять принципы работы простейших логических элементов используется «таблица истинности» . Кроме того, для понимания принципов работы логических элементов, входы, в зависимости от их количества обозначают: Х1, Х2, … ХN, а выходы: Y1, Y2, … YN.

Функции, выполняемые простейшими логическими элементами, имеют названия. Как правило, впереди функции ставится цифра, обозначающая количество входов. Простейшие логические элементы всегда имеют лишь один выход.

Рассмотрим простейшие логические элементы

«НЕ» (NOT) – функция отрицания (инверсии сигнала). Потому его чаще называют — «инвертор» . Графически, инверсия обозначается пустым кружочком вокруг вывода элемента (микросхемы). Обычно кружок инверсии ставится у выхода, но в более сложных логических элементах, он может стоять и на входе. Графическое обозначение элемента «НЕ» и его таблица истинности представлены на рисунке слева.

У элемента «НЕ» всегда один вход и один выход. По таблице истинности следует, что при наличии на входе элемента логического нуля, на выходе будет логическая единица. И наоборот, при наличии на входе логической единицы, на выходе будет логический ноль. Цифра «1» внутри прямоугольника обозначает функцию «ИЛИ», её принято рисовать и внутри прямоугольника элемента «НЕ», но это ровным счётом ничего абсолютно не значит.

Обозначение D1.1 означает, что D — цифровой логический элемент, 1 (первая) — номер микросхемы в общей схеме, 1 (вторая) — номер элемента в микросхеме. Точно также расшифровываются и другие логические элементы.

Часто, чтобы отличить цифровые микросхемы от аналоговых микросхем, применяют обозначения из двух букв: DD – цифровая микросхема, DA – аналоговая микросхема. В последующем, мы не будем заострять внимание на это обозначение, а вернёмся лишь тогда, когда это будет необходимым.

Самой распространённой микросхемой «транзисторно-транзисторной логики» (ТТЛ), выполняющей функцию «НЕ», является интегральная микросхема (ИМС) К155ЛН1, внутри которой имеется шесть элементов «НЕ». Нумерация выводов этой микросхемы показана справа.

«И» (AND) – функция сложения (если на всех входах единица, то на выходе будет единица, в противном случае, если хотя бы на одном входе ноль, то и на выходе всегда будет ноль). В алгебре-логике элемент «И» называют «конъюнктор» . Графическое обозначение элемента «2И» и его таблица истинности представлены слева.

Название элемента «2И» обозначает, что у него два входа, и он выполняет функцию «И» . На схеме внутри прямоугольника микросхемы рисуется значок «&» , что на английском языке означает «AND» (в переводе на русский — И).

По таблице истинности следует, что на выходе элемента «И» будет логическая единица только в одном случае — когда на обоих входах будет логическая единица. Если хотя бы на одном входе ноль, то и на выходе будет ноль.

Самой распространённой микросхемой «транзисторно-транзисторной логики» (ТТЛ) , выполняющей функцию «2И», является интегральная микросхема (ИМС) К155ЛИ1, внутри которой имеется четыре элемента «2И». Нумерация выводов этой микросхемы показана справа.

Для того, чтобы вам было понятнее что такое «2И», «3И», «4И», и т.д., приведу графическое обозначение и таблицу истинности элемента «3И».

По таблице истинности следует, что на выходе элемента «3И» будет логическая единица только в том случае — когда на всех трёх входах будет логическая единица. Если хотя бы на одном входе будет логический ноль, то и на выходе элемента также будет логический ноль. Самой распространённой микросхемой ТТЛ, выполняющей функцию «3И», является микросхема К555ЛИ3, внутри которой имеется три элемента «3И».

«И-НЕ» (NAND) – функция сложения с отрицанием (если на всех входах единица, то на выходе будет ноль, в противном случае на выходе всегда будет единица). Графическое обозначение элемента «2И-НЕ» и его таблица истинности приведены слева.

По таблице истинности следует, что на выходе элемента «2И-НЕ» будет логический ноль только в том случае, если на обоих входах будет логическая единица. Если хотя бы на одном входе ноль, то на выходе будет единица.

Самой распространённой микросхемой ТТЛ, выполняющей функцию «2И-НЕ», является ИМС К155ЛА3, а микросхемами КМОП (комплементарный металлооксидный полупроводник) – ИМС К561ЛА7 и К176ЛА7, внутри которых имеется четыре элемента «2И-НЕ». Нумерация выводов этих микросхем показана справа.

Сравнив таблицы истинности элемента «2И-НЕ» и элемента «2И» можно догадаться об эквивалентности схем:

Добавив к элементу «2И» элемент «НЕ» мы получили элемент «2И-НЕ». Так можно собрать схему, если нам необходим элемент «2И-НЕ», а у нас в распоряжении имеются только элементы «2И» и «НЕ».

И наоборот:

Добавив к элементу «2И-НЕ» элемент «НЕ» мы получили элемент «2И». Так можно собрать схему, если нам необходим элемент «2И», а у нас в распоряжении имеются только элементы «2И-НЕ» и «НЕ».

Аналогичным образом, путём соединения входов элемента «2И-НЕ» мы можем получить элемент «НЕ»:

Обратите внимание, что было введено новое в обозначении элементов – дефис, разделяющий правую и левую часть в названии «2И-НЕ». Этот дефис непременный атрибут при инверсии на выходе (функции «НЕ»).

«ИЛИ» (OR) – функция выбора (если хотя бы на одном из входов – единица, то на выходе – единица, в противном случае на выходе всегда будет ноль). В алгебре-логике, элемент «ИЛИ» называют «дизъюнктор». Графическое обозначение элемента «2ИЛИ» и его таблица истинности приведены слева.

Самой распространённой микросхемой ТТЛ, выполняющей функцию «2ИЛИ», является ИМС К155ЛЛ1, внутри которой имеется четыре элемента «2ИЛИ». Нумерация выводов этой микросхемы показана справа.

Предположим, что нам в схеме необходим элемент, выполняющий функцию «2ИЛИ», но у нас есть в распоряжении только элементы «НЕ» и «2И-НЕ», тогда можно собрать схему, которая будет выполнять функцию «2ИЛИ»:

«ИЛИ-НЕ» (NOR) – функция выбора (если хотя бы на одном из входов – единица, то на выходе – ноль, в противном случае на выходе всегда будет единица). Как вы поняли, элемент «ИЛИ-НЕ» выполняет функцию «ИЛИ», а потом инвертирует его функцией «НЕ».

Графическое обозначение элемента «2ИЛИ-НЕ» и его таблица истинности приведена слева.

Самой распространённой микросхемой ТТЛ, выполняющей функцию «2ИЛИ-НЕ», является ИМС К155ЛЕ1, а микросхемами КМОП – К561ЛЕ5 и К176ЛЕ5, внутри которых имеется четыре элемента «2ИЛИ-НЕ». Нумерация выводов этих микросхем показана справа.

Предположим, что нам в схеме необходим элемент, выполняющий функцию «2ИЛИ-НЕ», но у нас есть в распоряжении только элементы «НЕ» и «2И-НЕ», тогда можно собрать следующую схему, которая будет выполнять функцию «2ИЛИ-НЕ»:

По аналогии с элементом «2И-НЕ», путём соединения входов элемента «2ИЛИ-НЕ» мы можем получить элемент «НЕ»:

«Исключающее ИЛИ» (XOR) — функция неравенства двух входов (если на обоих входах элемента одинаковые сигналы, то на выходе – ноль, в противном случае на выходе всегда будет единица). Операция, которую он выполняет, часто называют «сложение по модулю 2».

Графическое обозначение элемента «Исключающее ИЛИ» и его таблица истинности приведены слева.

Самой распространённой микросхемой ТТЛ, выполняющей функцию «Исключающее ИЛИ», является ИМС К155ЛП5, а микросхемами КМОП – К561ЛП2 и К176ЛП2, внутри которых имеется четыре элемента «Исключающее ИЛИ». Нумерация выводов этих микросхем показана справа.

Предположим, что нам в схеме необходим элемент, выполняющий функцию «Исключающее ИЛИ», но у нас есть в распоряжении только элементы «2И-НЕ», тогда можно собрать следующую схему, которая будет выполнять функцию «Исключающее ИЛИ» :

В цифровой схемотехнике процессоров главная функция — «Суммирование двоичных чисел», поэтому сложный логический элемент – «Сумматор» является неотъемлемой частью арифметико-логического устройства любого, без исключения процессора. Составной частью сумматора является набор логических элементов, выполняющих функцию «Исключающее ИЛИ с переносом остатка» . Что это такое? В соответствии с наукой «Информатика», результатом сложения двух двоичных чисел, две единицы одного разряда дают ноль, при этом формируется «единица переноса» в следующий старший разряд, который участвует в операции суммирования в старшем разряде. Для этого в схему добавляется ещё один вывод «переноса» — «Р».

Графическое обозначение элемента «Исключающее ИЛИ с переносом» и его таблица истинности представлена слева.

Такая функция сложения одноразрядных чисел в простых устройствах обычно не используется, и как правило, интегрирована в состав одной микросхемы – сумматора, с минимальным количеством разрядов – четыре, для сложения четырехбитных чисел. По причине слабого спроса, промышленность таких логических элементов не выпускает. Поэтому, в случае необходимости, функцию «Исключающее ИЛИ с переносом» можно собрать по следующей схеме из элементов «2И-НЕ» и «2ИЛИ-НЕ», которая активно применяется как внутри простых сумматоров, так и во всех сложных процессорах (в том числе Pentium, Intel-Core, AMD и других, которые появятся в будущем):

Вышеперечисленные логические элементы выполняют статические функции, а на основе них строятся более сложные статические и динамические элементы (устройства): триггеры, регистры, счётчики, шифраторы, дешифраторы, сумматоры, мультиплексоры.

Бит — это минимальная единица измерения объёма информации, так как она хранит одно из двух значений — 0 (False) или 1 (True). False и True в переводе на русский ложь и истина соответственно. То есть одна битовая ячейка может находиться одновременно лишь в одном состоянии из возможных двух. Напомню, два возможных состояния битовой ячейки равны — 1 и 0.
Есть определённые операции, для манипуляций с битами. Эти операции называются логическими или булевыми операциями, названные в честь одного из математиков — Джорджа Буля (1815-1864), который способствовал развитию этой области науки.
Все эти операции могут быть применены к любому биту, независимо от того, какое он имеет значение — 0(нуль) или 1(единицу). Ниже приведены основные логические операции и примеры их использования.

Логическая операция И (AND)

Обозначение AND: &

Логическая операция И выполняется с двумя битами, назовем их a и b. Результат выполнения логической операции И будет равен 1, если a и b равны 1, а во всех остальных (других) случаях, результат будет равен 0. Смотрим таблицу истинности логической операции and.

a(бит 1) b(бит 2) a(бит 1) & b(бит 2)
0 0 0
0 1 0
1 0 0
1 1 1

Логическая операция ИЛИ (OR)

Обозначение OR: |

Логическая операция ИЛИ выполняется с двумя битами (a и b). Результат выполнения логической операции ИЛИ будет равен 0, если a и b равны 0 (нулю), а во всех остальных (других) случаях, результат равен 1 (единице). Смотрим таблицу истинности логической операции OR.

a(бит 1) b(бит 2) a(бит 1) | b(бит 2)
0 0 0
0 1 1
1 0 1
1 1 1

Логическая операция исключающее ИЛИ (XOR).

Обозначение XOR: ^
Логическая операция исключающее ИЛИ выполняется с двумя битами (a и b). Результат выполнения логической операции XOR будет равен 1 (единице), если один из битов a или b равен 1 (единице), во всех остальных случаях, результат равен 0 (нулю). Смотрим таблицу истинности логической операции исключающее ИЛИ.

a(бит 1) b(бит 2) a(бит 1) ^ b(бит 2)
0 0 0
0 1 1
1 0 1
1 1 0

Логическая операция НЕ (not)

Обозначение NOT: ~
Логическая операция НЕ выполняется с одним битом. Результат выполнения этой логической операции напрямую зависит от состояния бита. Если бит находился в нулевом состоянии, то результат выполнения NOT будет равен единице и наоборот. Смотрим таблицу истинности логической операции НЕ.

a(бит 1) ~a(отрицание бита)
0 1
1 0

Запомните эти 4 логические операции. Используя эти логические операции, мы можем получить любой возможный результат. Подробно об использовании логических операций в С++ читаем .

ложь ". В вычислительной технике логические 0 и 1 - это состояние электрических схем с определенными параметрами. Так, для логических элементов и схем, выполненных по технологии транзисторно-транзисторной логики (ТТЛ-схемы), логический 0 - это напряжение в диапазоне 0 … + 0,4 В, а логическая 1 - это напряжение в диапазоне + 2,4 … + 5 В . Работа логических схем описывается посредством специального математического аппарата, который называется логической (булевой) алгеброй или алгеброй логики. Булева алгебра была разработана Джорджем Булем (1815 - 1864 гг.), она является основой всех методов упрощения булевых выражений.

Логические переменные и логические функции - это такие переменные и функции, которые могут принимать только два значения - либо логический 0, либо логическая 1 .

Основные логические функции и элементы

Логический элемент - графическое представление элементарной логической функции .

Логическое умножение (конъюнкция) - функция И

Рассмотрим ключевую схему представленную на рис. 1.1 ,а. Примем за логический 0 :

Таблица истинности - это таблица, содержащая все возможные комбинации входных логических переменных и соответствующие им значения логической функции.


Рис. 1.1.

Таблица истинности для логической схемы, представленной на рис. 1.1 ,б, состоит из 8 строк, поскольку данная схема имеет три входа - , и . Каждая из этих логических переменных может находиться либо в состоянии логического 0, либо логической 1. Соответственно количество сочетаний этих переменных равно . Очевидно, что через сопротивление R ток протекает только тогда, когда замкнуты все три ключа - и , и , и . Отсюда еще одно название логического умножения - логический элемент И. В логических схемах этот элемент независимо от того, на какой элементной базе он реализован, обозначается так, как показано на рис. 1.1 ,в.

Правило логического умножения :если на вход логического элемента И подается хотя бы один логический 0, то на его выходе будет логический 0.

Уровень логического 0 является решающим для логического умножения .

В логических выражениях применяется несколько вариантов обозначения логического умножения. Так, для приведенного на рис. 1.1 ,в трёх-входового элемента И, логическое выражение можно представить в виде:

Логическое сложение (дизъюнкция) - функция ИЛИ

рис. 1.2 ,а. Таблица истинности для данной логической схемы (рис. 1.2 ,б) состоит из 4 строк, поскольку данная схема имеет два входа - и . Количество сочетаний этих переменных равно . Очевидно, что через сопротивление R ток протекает тогда, когда замкнуты или , или . Отсюда еще одно название логического сложения - логическое ИЛИ . В логических схемах соответствующий логический элемент независимо от того, на какой элементной базе он реализован, обозначается так, как показано на рис. 1.2 ,в.


Рис. 1.2.

Правило логического сложения : если на вход логического элемента ИЛИ подается хотя бы одна логическая , то на его выходе будет логическая 1.

Для логического сложения решающим является уровень логической 1 .

В логических выражениях применяется два варианта обозначения логического сложения . Так, для приведенного двух-входового элемента ИЛИ, логическое выражение можно представить в виде:

Логическое отрицание (инверсия) - функция НЕ

Рассмотрим ключевую схему, представленную на рис. 1.3 ,а. Таблица истинности для данной схемы (рис. 1.3 ,б) самая простая и состоит всего из 2 строк, поскольку она (единственная из всех логических элементов) имеет только один вход - . Количество вариантов для единственной логической переменной равно . Очевидно, что через сопротивление R ток протекает () тогда, когда не замкнут, т.е. . Еще одно название этой логической функции - отрицание , а соответствующий логический элемент называется инвертором . В логических схемах этот элемент независимо от того, на какой элементной базе он реализован, обозначается так, как показано на рис. 1.3 ,в. Поскольку он имеет только один вход, в его обозначении допустимым является и знак логического сложения, и знак логического умножения.


Рис. 1.3.

Правило инверсии : проходя через инвертор, сигнал меняет свое значение на противоположное.