В информатике логическое выражение — это выражение , используемое в языках программирования , которое при вычислении выдает логическое значение . Логическое значение может быть либо true , либо false . Логическое выражение может состоять из комбинации логических констант true или false , переменных логического типа , операторов с логическим значением и функций с логическим значением . [1]
Булевы выражения соответствуют формулам высказываний в логике и являются частным случаем булевых схем . [2]
В большинстве языков программирования есть логические операторы ИЛИ , И и НЕ ; в C и некоторых вдохновленных им языках они обозначаются знаком "||" (двойной символ вертикальной черты), «&&» (двойной амперсанд ) и «!» ( восклицательный знак ) соответственно, а соответствующие побитовые операции обозначаются символами «|», «&» и «~» (тильда). [3] В математической литературе часто используются символы «+» ( плюс ), « · » ( точка ) и черта над чертой , или «∨» ( vel ), «∧» ( et ) и «¬» ( не ) или "'" (основной).
Некоторые языки, например Perl и Ruby , имеют два набора логических операторов с идентичными функциями, но разным приоритетом. Обычно в этих языках для операторов с более низким приоритетом используются and или and not .
Некоторые языки программирования, производные от PL/I, имеют тип битовой строки и используют BIT(1), а не отдельный логический тип. В этих языках одни и те же операторы служат для логических и побитовых операций. В языках ИЛИ, И, НЕ и ИСКЛЮЧАЮЩЕЕ ИЛИ обозначаются символами «|», «&», «¬» (инфикс) и «¬» (префикс).
Некоторые языки программирования, например, Ada , имеют логические операторы короткого замыкания . Эти операторы используют ленивое вычисление , то есть, если значение выражения можно определить из левого логического выражения, они не оценивают правое логическое выражение. В результате могут возникнуть побочные эффекты , возникающие только для одного значения левого операнда.
5 > 3
оценивается какистинный.3 > 5
оценивается какЛОЖЬ.5>=3
и 3<=5
являются эквивалентными логическими выражениями, оба из которых оцениваются какистинный.typeof true
и typeof false
вернутьсялогическое значениеX > 3
), а часто и больше ( X > Y
).