Производство по чертежам Подбор аналогов Цены производителя Оригинальная продукция в короткие сроки
INNERпроизводство и поставка промышленных комплектующих и оборудования
Отзыв ★★★★★ Будем благодарны за отзыв в Яндексе — это помогает нам развиваться Оставить отзыв →
Правовая информация Условия использования технических материалов и калькуляторов Правовая информация →
INNER
Контакты

Таблица обозначения логических символов и операций с таблицами истинности

Интерактивный справочник логических обозначений -- полная сводная таблица всех символов, формул и условных графических обозначений логических операций. Инструмент охватывает математическую нотацию, булеву алгебру, языки программирования (C/C++, Python, Java, JavaScript, SQL), а также стандарты ГОСТ 2.743-91, IEC 60617-12 и IEEE Std 91. Используйте поиск и быстрые фильтры для навигации по справочнику.

Таблица логических обозначений -- все символы и нотации

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

Показано: 8 из 8 операций
Операция Математика Булева алгебра C/C++ Python ГОСТ / IEC Таблица истинности
?

Ничего не найдено. Попробуйте изменить запрос или сбросить фильтры.

Таблицы истинности логических операций

Таблица истинности -- это табличное представление всех возможных комбинаций входных значений логической функции и соответствующих им результатов. Для двух переменных (A и B) существует четыре комбинации: 00, 01, 10, 11. Каждая из 16 булевых функций двух переменных однозначно определяется столбцом результатов в такой таблице.

Восемь основных операций, их результаты для всех комбинаций входов и практические мнемоники для запоминания:

AND (Конъюнкция) -- результат: 0001

A=0,B=0 → 0 | A=0,B=1 → 0 | A=1,B=0 → 0 | A=1,B=1 → 1

Мнемоника: истинна только когда оба операнда истинны. Аналог умножения: 1·1=1, остальное 0.

OR (Дизъюнкция) -- результат: 0111

A=0,B=0 → 0 | A=0,B=1 → 1 | A=1,B=0 → 1 | A=1,B=1 → 1

Мнемоника: ложна только когда оба ложны. Аналог включительного ИЛИ в естественном языке.

NOT (Отрицание) -- инверсия

A=0 → 1 | A=1 → 0

Единственная унарная операция. Меняет значение на противоположное. В электронике реализуется инвертором.

XOR (Исключающее ИЛИ) -- результат: 0110

A=0,B=0 → 0 | A=0,B=1 → 1 | A=1,B=0 → 1 | A=1,B=1 → 0

Мнемоника: истинна когда операнды различны. Используется для контроля четности и в криптографии.

NAND (Штрих Шеффера) -- результат: 1110

A=0,B=0 → 1 | A=0,B=1 → 1 | A=1,B=0 → 1 | A=1,B=1 → 0

Инверсия AND. Универсальный элемент -- через NAND выражается любая булева функция.

NOR (Стрелка Пирса) -- результат: 1000

A=0,B=0 → 1 | A=0,B=1 → 0 | A=1,B=0 → 0 | A=1,B=1 → 0

Инверсия OR. Также универсальный элемент. Основа схемотехники ранних компьютеров.

Импликация (ЕСЛИ...ТО) -- результат: 1101

A=0,B=0 → 1 | A=0,B=1 → 1 | A=1,B=0 → 0 | A=1,B=1 → 1

Мнемоника: ложна только когда посылка истинна, а заключение ложно. Из лжи следует что угодно.

Эквиваленция (XNOR) -- результат: 1001

A=0,B=0 → 1 | A=0,B=1 → 0 | A=1,B=0 → 0 | A=1,B=1 → 1

Истинна когда оба операнда совпадают. Инверсия XOR. Используется в компараторах.

Приоритет логических операций -- порядок выполнения

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

ПриоритетОперацияСимволПояснение
1 (высший)Скобки( )Принудительный порядок вычислений
2Отрицание (NOT)¬Унарная, применяется к ближайшему операнду
3Конъюнкция (AND)Аналог умножения в арифметике
4Дизъюнкция (OR)Аналог сложения в арифметике
5Исключающее ИЛИ (XOR)Сложение по модулю 2
6ИмпликацияПравоассоциативна: A→B→C = A→(B→C)
7 (низший)ЭквиваленцияСамый низкий приоритет

Пример разбора по приоритету: выражение ¬A ∧ B ∨ C → D ↔ E вычисляется как ((((¬A) ∧ B) ∨ C) → D) ↔ E. Сначала инвертируется A, затем выполняется конъюнкция с B, потом дизъюнкция с C, далее импликация с D и в последнюю очередь -- эквиваленция с E.

В программировании приоритет отличается. В языках C, C++, Java и JavaScript порядок таков: !/~&^|&&||. Побитовые операции имеют более высокий приоритет, чем логические. В Python: ~&^|notandor.

Условные графические обозначения логических элементов по ГОСТ и IEC

ГОСТ 2.743-91 (ЕСКД. Обозначения условные графические в схемах. Элементы цифровой техники) -- действующий межгосударственный стандарт, утвержденный постановлением от 23.12.1991 N 2375. Он определяет способ изображения логических элементов на принципиальных схемах с помощью прямоугольников и текстовых маркеров внутри них. Стандарт соответствует международному МЭК 617-12 (ныне IEC 60617-12:1997).

Международный стандарт IEC 60617-12 использует практически идентичные прямоугольные символы, но для элемента ИЛИ применяет обозначение «≥1» вместо «1» по ГОСТ. Стандарт IEEE Std 91-1984 дополнительно допускает фигурные (distinctive shape) символы из американского военного стандарта MIL-STD-806B. В 2015 году введен ГОСТ Р МЭК 60617-DB-12M-2015, содержащий около 1900 графических символов для схем в формате базы данных.

┌────┐ ┤ & ├─ ┤ │ └────┘
AND (И)
ГОСТ: & | IEC: &
┌────┐ ┤ 1 ├─ ┤ │ └────┘
OR (ИЛИ)
ГОСТ: 1 | IEC: ≥1
┌────┐ ┤ 1 ├○─ └────┘
NOT (НЕ)
○ = инверсия
┌────┐ ┤ & ├○─ ┤ │ └────┘
NAND (И-НЕ)
ГОСТ: &+○ | IEC: &+○
┌────┐ ┤ 1 ├○─ ┤ │ └────┘
NOR (ИЛИ-НЕ)
ГОСТ: 1+○ | IEC: ≥1+○
┌────┐ ┤ =1 ├─ ┤ │ └────┘
XOR (Искл. ИЛИ)
ГОСТ: =1 | IEC: =1

На схемах кружок (○) на контуре прямоугольника обозначает инверсию сигнала на входе или выходе. Треугольник указывает на динамический вход (срабатывание по фронту сигнала). Входы располагаются слева, выходы -- справа. Размеры УГО по ГОСТ определяются модульной сеткой с шагом M, который выбирается исходя из требований микрофильмирования (ГОСТ 13.1.002); на практике при ручном черчении обычно принимают M = 5 мм. Элементы именуются с указанием числа входов: 2И, 3ИЛИ, 4И-НЕ, 2-2И-ИЛИ-НЕ.

Логические операции и их обозначения в языках программирования

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

ОперацияC / C++PythonJavaJavaScriptSQL
AND (логич.)&&and&&&&AND
AND (побит.)&&&&&
OR (логич.)||or||||OR
OR (побит.)|||||
NOT (логич.)!not!!NOT
NOT (побит.)~~~~~
XOR (побит.)^^^^^ / XOR

Особенности по языкам. В C++ существуют текстовые альтернативы операторов (определены стандартом C++ как альтернативные токены): and, or, not, xor, bitand, bitor, compl. В Java оператор ^ работает как с boolean (логический XOR), так и с целочисленными типами (побитовый). В Python логические операторы and/or возвращают не True/False, а значение одного из операндов (short-circuit с возвратом значения). В JavaScript аналогичное поведение: "" || "default" вернет строку "default". SQL использует трёхзначную логику -- помимо TRUE и FALSE существует NULL (UNKNOWN), и операция TRUE AND NULL дает NULL. Побитовые операторы (&, |, ^, ~) не входят в стандарт SQL (ISO/IEC 9075), но поддерживаются большинством СУБД (MySQL, PostgreSQL, SQL Server) как расширения.

Основные законы и тождества алгебры логики

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

Законы де Моргана

Два ключевых тождества, связывающие конъюнкцию и дизъюнкцию через отрицание. Позволяют преобразовывать выражения между ДНФ и КНФ, а в электронике -- между схемами на NAND и NOR элементах.

¬(A ∧ B) = ¬A ∨ ¬B
¬(A ∨ B) = ¬A ∧ ¬B
Обобщение: ¬(A₁ ∧ A₂ ∧ ... ∧ Aₙ) = ¬A₁ ∨ ¬A₂ ∨ ... ∨ ¬Aₙ

Коммутативность, ассоциативность, дистрибутивность

/* Коммутативность */
A ∧ B = B ∧ A   |   A ∨ B = B ∨ A   |   A ⊕ B = B ⊕ A

/* Ассоциативность */
(A ∧ B) ∧ C = A ∧ (B ∧ C)   |   (A ∨ B) ∨ C = A ∨ (B ∨ C)

/* Дистрибутивность */
A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C)
A ∨ (B ∧ C) = (A ∨ B) ∧ (A ∨ C)   ← уникально для булевой алгебры

Тождества с константами, поглощение, склеивание

/* Константы */
A ∧ 1 = A   |   A ∧ 0 = 0   |   A ∨ 0 = A   |   A ∨ 1 = 1

/* Дополнение */
A ∧ ¬A = 0 (противоречие)   |   A ∨ ¬A = 1 (исключенное третье)

/* Идемпотентность */
A ∧ A = A   |   A ∨ A = A

/* Двойное отрицание */
¬(¬A) = A

/* Поглощение */
A ∨ (A ∧ B) = A   |   A ∧ (A ∨ B) = A

/* Склеивание */
(A ∧ B) ∨ (¬A ∧ B) = B

Эквивалентные формулы -- выражение операций друг через друга

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

/* Импликация */
A → B = ¬A ∨ B = ¬(A ∧ ¬B)

/* Эквиваленция */
A ↔ B = (A → B) ∧ (B → A) = (A ∧ B) ∨ (¬A ∧ ¬B) = ¬(A ⊕ B)

/* XOR */
A ⊕ B = (A ∧ ¬B) ∨ (¬A ∧ B) = (A ∨ B) ∧ ¬(A ∧ B) = ¬(A ↔ B)

/* NAND (штрих Шеффера) */
A ↑ B = ¬(A ∧ B)

/* NOR (стрелка Пирса) */
A ↓ B = ¬(A ∨ B) = ¬A ∧ ¬B

/* Взаимное выражение AND и OR (де Морган) */
A ∨ B = ¬(¬A ∧ ¬B)   |   A ∧ B = ¬(¬A ∨ ¬B)

Тождества XOR с константами: A ⊕ 0 = A, A ⊕ 1 = ¬A, A ⊕ A = 0, A ⊕ ¬A = 1. Операция XOR ассоциативна, коммутативна и дистрибутивна относительно конъюнкции: A ∧ (B ⊕ C) = (A ∧ B) ⊕ (A ∧ C).

Функционально полные базисы логических операций

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

Классический базис: {¬, ∧, ∨}

Отрицание, конъюнкция, дизъюнкция. Базис избыточен -- AND и OR взаимно выражаются через де Моргана.

Минимальные базисы: {¬, ∧} и {¬, ∨}

Достаточно отрицания и одной бинарной операции. OR через NOT и AND: A ∨ B = ¬(¬A ∧ ¬B).

Базис Шеффера: {↑} (только NAND)

¬A = A↑A. A∧B = (A↑B)↑(A↑B). A∨B = (A↑A)↑(B↑B). Основа КМОП-микросхем.

Базис Пирса: {↓} (только NOR)

¬A = A↓A. A∨B = (A↓B)↓(A↓B). A∧B = (A↓A)↓(B↓B). Исторически -- первые ЭВМ.

Базис Жегалкина: {1, ⊕, ∧}

Константа 1, XOR и AND. Позволяет представить любую функцию в виде полинома Жегалкина (кольцо вычетов Z/2Z).

Базис {¬, →}

Отрицание и импликация. A ∧ B = ¬(A → ¬B). A ∨ B = ¬A → B. Используется в аксиоматике логики высказываний.

В микроэлектронике наибольшее практическое значение имеет базис Шеффера ({NAND}). Подавляющее большинство КМОП-логических микросхем строится на вентилях NAND, поскольку NAND-элемент реализуется на двух комплементарных транзисторах эффективнее, чем NOR. Базовая микросхема SN7400 (четыре элемента 2И-НЕ) и её советский аналог К155ЛА3, а также КМОП-версии серии 74HC00 и их потомки -- одни из самых массово производимых электронных компонентов в истории.

Часто задаваемые вопросы (FAQ)

Оба стандарта используют прямоугольные символы с текстовыми маркерами внутри, однако есть одно ключевое различие: элемент ИЛИ (OR) в ГОСТ 2.743-91 обозначается символом «1», тогда как в IEC 60617-12 используется «≥1» (означает «не менее одного активного входа»). Для остальных элементов -- И (&), Исключающее ИЛИ (=1), индикатор инверсии (кружок) -- обозначения совпадают. ГОСТ 2.743-91 официально заявляет о соответствии МЭК 617-12.

В России действует ГОСТ 2.743-91 «ЕСКД. Обозначения условные графические в схемах. Элементы цифровой техники», утверждённый постановлением от 23.12.1991 N 2375. Параллельно действует ГОСТ Р МЭК 60617-DB-12M-2015, содержащий около 1900 графических символов для схем в формате базы данных, гармонизированный с международным IEC 60617. Оба стандарта являются действующими и дополняют друг друга.

Штрих Шеффера (NAND) и стрелка Пирса (NOR) образуют функционально полные базисы -- каждая из этих операций в одиночку способна выразить любую булеву функцию. Например, через NAND: отрицание -- A↑A, конъюнкция -- (A↑B)↑(A↑B), дизъюнкция -- (A↑A)↑(B↑B). Это свойство делает их основой цифровой микроэлектроники: большинство КМОП-микросхем строится именно на NAND-вентилях, поскольку они эффективнее реализуются на комплементарных транзисторах.

Логические операции (&&, ||, ! в C/Java/JS; and, or, not в Python) работают с булевыми значениями и поддерживают сокращённое вычисление (short-circuit evaluation): если результат определён по первому операнду, второй не вычисляется. Побитовые операции (&, |, ^, ~) обрабатывают каждый бит числа независимо и всегда вычисляют оба операнда. Например, 5 & 3 даёт 1 (побитовое AND: 101 & 011 = 001), а 5 && 3 -- true (оба значения ненулевые).

Законы де Моргана -- два фундаментальных тождества булевой алгебры: ¬(A ∧ B) = ¬A ∨ ¬B и ¬(A ∨ B) = ¬A ∧ ¬B. Они связывают конъюнкцию и дизъюнкцию через отрицание. Практическое применение: в математике -- преобразование между дизъюнктивной (ДНФ) и конъюнктивной (КНФ) нормальными формами; в электронике -- пересчёт схем между базисами NAND и NOR; в программировании -- упрощение и оптимизация условных выражений.

В дискретной математике принят следующий порядок (от высшего к низшему): скобки → отрицание (¬) → конъюнкция (∧) → дизъюнкция (∨) → исключающее ИЛИ (⊕) → импликация (→) → эквиваленция (↔). Таким образом, выражение ¬A ∧ B ∨ C вычисляется как ((¬A) ∧ B) ∨ C. Эта иерархия аналогична порядку умножения и сложения в арифметике: конъюнкция -- «логическое умножение», дизъюнкция -- «логическое сложение».

Для двух переменных существует ровно 16 различных булевых функций (2^(2²) = 16). Каждая определяется уникальной комбинацией четырёх значений результата для входов 00, 01, 10, 11. Восемь из них имеют широкое практическое применение (AND, OR, NOT, XOR, NAND, NOR, импликация, эквиваленция). Остальные -- константы 0 и 1, проекции на переменные, их отрицания, материальная неимпликация и обратная неимпликация.

Полином Жегалкина -- это представление любой булевой функции в виде суммы (XOR) произведений (AND) переменных и константы 1. Например, A ∨ B = A ⊕ B ⊕ (A ∧ B). Набор {1, ⊕, ∧} образует функционально полный базис, поскольку через него выражается любая булева функция. Этот базис используется в теоретической информатике (критерий Поста), криптографии и при анализе нелинейности булевых функций. Операции XOR и AND в данном контексте соответствуют сложению и умножению в кольце вычетов по модулю 2 (Z/2Z).

Источники и нормативная база

При подготовке справочника использованы следующие нормативные документы, учебные и справочные материалы:

Российские стандарты (ГОСТы)

ГОСТ 2.743-91 -- ЕСКД. Обозначения условные графические в схемах. Элементы цифровой техники. Утверждён постановлением от 23.12.1991 N 2375. Статус: действующий.

ГОСТ Р МЭК 60617-DB-12M-2015 -- Графические символы для схем (в формате базы данных). Часть 12M. Двоичные элементы. Статус: действующий.

Международные стандарты

IEC 60617-12:1997 -- Graphical symbols for diagrams. Part 12: Binary logic elements. International Electrotechnical Commission.

IEEE Std 91-1984 -- IEEE Standard Graphic Symbols for Logic Functions. Дополнение: IEEE Std 91a-1991.

ISO 80000-2:2019 -- Quantities and units. Part 2: Mathematics. Заменил ISO 31-11:1992.

Учебная и справочная литература

Яблонский С. В. Введение в дискретную математику. -- М.: Высшая школа, 2003.

Гаврилов Г. П., Сапоженко А. А. Задачи и упражнения по дискретной математике. -- М.: Физматлит, 2005.

Угрюмов Е. П. Цифровая схемотехника. -- СПб.: БХВ-Петербург, 2010.

Mano M. M., Ciletti M. D. Digital Design: With an Introduction to the Verilog HDL. -- Pearson, 2018 (6th ed.).

Rosen K. H. Discrete Mathematics and Its Applications. -- McGraw-Hill, 2019 (8th ed.).

Документация языков программирования

ISO/IEC 14882:2020 -- Programming languages -- C++ (стандарт C++20). Альтернативные токены: [lex.digraph].

Python Language Reference -- docs.python.org. Раздел: Expressions (Boolean operations, Bitwise operations).

Java Language Specification (JLS), Java SE 21. Chapter 15: Expressions.

ECMAScript 2024 Language Specification (ECMA-262, 15th ed.). Раздел: Binary Logical Operators.

ISO/IEC 9075:2023 -- Information technology -- Database languages -- SQL (стандарт SQL).

Отказ от ответственности

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

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

При проектировании электронных схем, разработке программного обеспечения и подготовке технической документации рекомендуется обращаться к полным актуальным текстам соответствующих стандартов (ГОСТ, IEC, IEEE, ISO), доступным через официальные каналы распространения: Росстандарт (gost.ru), IEC (iec.ch), IEEE (ieee.org), ISO (iso.org).

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

Заказать товар

ООО «Иннер Инжиниринг»