# Логическая операция

[править | править код]
Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

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

## Формальная логика[править | править код]

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

Операция, раскрывающая сущность понятия:

- определение;

К операциям, которые связаны преимущественно с изменением содержания понятий, относятся:

- отрицание (NOT);
- ограничение;
- обобщение;

К операциям, которые связаны преимущественно с изменением объёмов понятий, относятся:

- логическое сложение (OR);
- логическое умножение (AND);
- логическое вычитание (XOR);
- логическое деление.

Данные операции могут быть записаны математически с помощью теории множеств.

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

## Математическая логика[править | править код]

Логическая операция (логический оператор, логическая связка, пропозициональная связка) — операция над высказываниями, позволяющая составлять новые высказывания путём соединения более простых[1].

В качестве основных обычно называют конъюнкцию ( ∧ {\displaystyle \land } или &), дизъюнкцию ( ∨ {\displaystyle \lor } ), импликацию ( → {\displaystyle \to } ), отрицание ( ¬ {\displaystyle \neg } ). В смысле классической логики логические связки могут быть определены через алгебру логики. В асинхронной секвенциальной логике определена логико-динамическая связка в виде операции венъюнкции ( ∠ {\displaystyle \angle } ).

## Программирование[править | править код]

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

В некоторых языках программирования (например, в языке C++ или Си) вместо логического типа или одновременно с ним используются числовые типы. В этом случае считается, что отличное от нуля значение соответствует логической истине, а ноль — логической лжи.

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

Среди логических операций наиболее известны конъюнкция (&&), дизъюнкция (||), отрицание (!). Их нередко путают с битовыми операциями, хотя это разные вещи. Например, следующий код на языке Си:

    if (action_required && some_condition())
    {
        /* какие-то действия */
    }

не выполнит вызов подпрограммы `some_condition()`, если значение логической переменной `action_required` ложно. При такой операции второй аргумент операции «&&» вообще не будет вычислен.

### В языках программирования[править | править код]

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

Язык | НЕ | И | ИЛИ | Искл. ИЛИ | Эквив. | Не экв. | Другие
--- | --- | --- | --- | --- | --- | --- | ---
C++[2] | ! | && | || | ^ | == | != |
Fortran[3] | .NOT. | .AND. | .OR. | .XOR. | .EQV. | .NEQV. |
Java[4] | ! | && | || | ^ | == | != |
Pascal[5] | not | and | or | xor | = | <> |
PL/I[6] | ¬ | & | | | ¬ | = | ¬= | BOOL
^ | ^ | ^=
Prolog[7] | \+ | , | ; |  |  |  |
Python[8] | not | and | or | ^ | == | != |
Turbo Basic[9] | NOT | AND | OR | XOR | EQV | <> | IMP
JavaScript | ! | && | || | ^ | == | != |
C# | ! | & | || |  |

###### ==[править | править код]

!=

(file) |  | (file) (zoom in)

## См. также[править | править код]

- Логическая константа
- Логический элемент
- Комбинационная логика
- Логическое выражение
- Логический вывод
- Секвенциальная логика
- Умозаключение

## Примечания[править | править код]

1. ↑
   Мендельсон Э. Введение в математическую логику. — М.: «Наука», 1971. — С. 19. Архивировано 1 мая 2013 года.
2. ↑ C++98 Standard Draft (недоступная ссылка)
3. ↑ FORTRAN 77 Full Language Standard. Logical Operators (неопр.). Дата обращения: 21 января 2010. Архивировано из оригинала 24 января 2010 года.
4. ↑ Java Language Specification. Second Edition Архивная копия от 30 августа 2009 на Wayback Machine, разделы 15.15, 15.21.2, 15.22-15.24
5. ↑ Pascal Language Reference. Operators (неопр.). Дата обращения: 21 января 2010. Архивировано из оригинала 3 мая 2017 года.
6. ↑ PL/I Language Reference (неопр.). Дата обращения: 20 января 2010. Архивировано 25 сентября 2018 года.
7. ↑ GNU-Prolog Manual Архивная копия от 23 января 2010 на Wayback Machine, разделы 6.2.2, 7.18.2
8. ↑ operator — Standard operators as functions (англ.). Python. Дата обращения: 21 октября 2020. Архивировано 20 октября 2020 года.
9. ↑ Turbo Basic. Owner’s Handbook. р.77

## Ссылки[править | править код]

- БСЭ. Логическая операция (в программировании) // Большая советская энциклопедия : [в 30 т.] / гл. ред. А. М. Прохоров. — 3-е изд. — М. : Советская энциклопедия, 1969—1978.
- БСЭ. Логические операции (в логике) // Большая советская энциклопедия : [в 30 т.] / гл. ред. А. М. Прохоров. — 3-е изд. — М. : Советская энциклопедия, 1969—1978.

Источник — https://ru.wikipedia.org/w/index.php?title=Логическая_операция&oldid=133434385
Категория:

- Логические операции

Скрытые категории:

- Страницы, использующие устаревший тег source
- Википедия:Статьи с нерабочими ссылками
- Википедия:Cite web (не указан язык)
- Википедия:Статьи с нераспознанным языком (ref)