В информатике логическое выражение — это выражение, используемое в языках программирования , которое при оценке дает логическое значение . Логическое значение может быть либо истинным , либо ложным . Логическое выражение может состоять из комбинации логических констант True/Yes или False/No , переменных логического типа , операторов логического типа и функций логического типа . [1]
Булевы выражения соответствуют пропозициональным формулам в логике и являются частным случаем булевых схем . [2]
В большинстве языков программирования есть булевы операторы OR , AND и NOT ; в языке C и некоторых языках, созданных на его основе , они представлены как «||» (двойная вертикальная черта), «&&» (двойной амперсанд ) и «!» ( восклицательный знак ) соответственно, в то время как соответствующие побитовые операции представлены как «|», «&» и «~» (тильда). [3] В математической литературе часто используются символы «+» ( плюс ), « · » ( точка ) и надчеркивание или «∨» ( vel ), «∧» ( et ) и «¬» ( не ) или «′» (штрих).
Некоторые языки, например, Perl и Ruby , имеют два набора булевых операторов с идентичными функциями, но разным приоритетом. Обычно эти языки используют and , or и not для операторов с более низким приоритетом.
Некоторые языки программирования, полученные из PL/I, имеют тип битовой строки и используют BIT(1) вместо отдельного булевого типа. В этих языках одни и те же операторы служат для булевых операций и побитовых операций. Языки представляют OR, AND, NOT и EXCLUSIVE OR как "|", "&", "¬" (инфикс) и "¬" (префикс).
Некоторые языки программирования, например, Ada , имеют сокращенные булевы операторы. Эти операторы используют ленивую оценку , то есть, если значение выражения может быть определено из левого булевого выражения, то они не оценивают правое булево выражение. В результате могут быть побочные эффекты , которые возникают только для одного значения левого операнда.
5 > 3
оценивается какистинный.3 > 5
оценивается какЛОЖЬ.5>=3
и 3<=5
являются эквивалентными булевыми выражениями, оба из которых оцениваются какистинный.X > 3
), а часто и больше ( X > Y
).