Логическая операция
В логике логическими операциями называют действия, вследствие которых порождаются новые понятия, возможно с использованием уже существующих. В более узком, формализованном смысле, понятие логической операции используется в математической логике и программировании.
Формальная логика
Логические операции с понятиями — такие мыслительные действия, результатом которых является изменение содержания или объёма понятий, а также образование новых понятий.
К операциям, которые связаны преимущественно с изменением содержания понятий, относятся:
- отрицание;
- ограничение ;
- обобщение ;
- деление.
К операциям, которые связаны преимущественно с объёмами понятий, относятся:
Данные операции могут быть записаны математически с помощью теории множеств.
Переход же к математической логике связан с понятием суждений и установлением операций над ними с целью получения сложных суждений.
Математическая логика
Логическая операция (логический оператор, логическая связка, пропозициональная связка) — операция над высказываниями, позволяющая составлять новые высказывания путем соединения более простых[1].
В качестве основных обычно называют конъюнкцию (<math>\land</math> или &), дизъюнкцию (<math>\lor</math>), импликацию (<math>\to</math>), отрицание (<math>\neg</math>). В смысле классической логики логические связки могут быть определены через алгебру логики. В асинхронной секвенциальной логике определена логико-динамическая связка в виде операции венъюнкции (<math>\angle</math>).
Программирование
Логическая операция — в программировании операция над выражениями логического (булевского) типа, соответствующая некоторой операции над высказываниями в алгебре логики. Как и высказывания, логические выражения могут принимать одно из двух истинностных значений — «истинно» или «ложно». Логические операции служат для получения сложных логических выражений из более простых. В свою очередь, логические выражения обычно используются как условия для управления последовательностью выполнения программы.
В некоторых языках программирования (например в C) вместо логического типа или одновременно с ним используются числовые типы. В этом случае считается, что отличное от нуля значение соответствует логической истине, а ноль — логической лжи.
Значение отдельного бита также можно рассматривать как логическое, если считать, что 1 означает «истинно», а 0 — «ложно». Это позволяет применять логические операции к отдельным битам, к битовым векторам покомпонентно и к числам в двоичном представлении поразрядно. Такое одновременное применение логической операции к последовательности битов осуществляется с помощью побитовых логических операций. Побитовые логические операции используются для оперирования отдельными битами или группами битов, применяются для наложения битовых масок, выполнения различных арифметических вычислений.
Среди логических операций наиболее известны конъюнкция (&&), дизъюнкция (||), отрицание (!). Их нередко путают с битовыми операциями, хотя это разные вещи. Например, следующий код на языке C:
if (action_required && some_condition())
{
/* какие-то действия */
}
не выполнит вызов подпрограммы some_condition(), если значение логической переменной action_required ложно. При такой операции второй аргумент операции && вообще не будет вычислен.
В языках программирования
В следующей таблице для некоторых языков программирования приведены встроенные операторы и функции, реализующие логические операции.
Язык | НЕ | И | ИЛИ | Искл. ИЛИ | Эквив. | Другие |
---|---|---|---|---|---|---|
С++[2] | ! | && | || | != | == | |
Fortran[3] | .NOT. | .AND. | .OR. | .NEQV. | .EQV. | |
Java[4] | ! | & | | | ^ | == | |
&& | || | != | ||||
Pascal[5] | not | and | or | xor | = | |
<> | ||||||
PL/I[6] | ¬ | & | | | ¬ | = | BOOL |
¬= | ||||||
Prolog[7] | \+ | , | ; |
Ошибка: неверное или отсутствующее изображение |
Ошибка: неверное или отсутствующее изображение | |
(file) | (file) (zoom in) |
Примечания
- ↑ Мендельсон Э. Введение в математическую логику. — М.: «Наука», 1971. — С. 19.
- ↑ C++98 Standard Draft
- ↑ FORTRAN 77 Full Language Standard. Logical Operators
- ↑ Java Language Specification. Second Edition, разделы 15.15, 15.21.2, 15.22-15.24
- ↑ Pascal Language Reference. Operators
- ↑ PL/I Language Reference
- ↑ GNU-Prolog Manual, разделы 6.2.2, 7.18.2
См. также
Ссылки
- БСЭ. Логическая операция (в программировании). Проверено 20 января 2010.
- БСЭ. Логические операции (в логике). Проверено 20 января 2010.
Логика |
|
---|---|
Наука | |
Формальная |
Логические операции с понятиями Изменение содержания понятия: отрицание • ограничение • обобщение • деление |
Математическая (теоретическая, символическая) |
Логические связки (операции) над высказываниями Высказывание - построение над множеством {B, <math>\lnot</math>, <math>\land</math>, <math>\lor</math>, 0, 1} |
См. также | импликация (<math>\to</math>) |
Философия |
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....