stringtranslate.com

Булево выражение

В информатике логическое выражение — это выражение, используемое в языках программирования , которое при оценке дает логическое значение . Логическое значение может быть либо истинным , либо ложным . Логическое выражение может состоять из комбинации логических констант 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 , имеют сокращенные булевы операторы. Эти операторы используют ленивую оценку , то есть, если значение выражения может быть определено из левого булевого выражения, то они не оценивают правое булево выражение. В результате могут быть побочные эффекты , которые возникают только для одного значения левого операнда.

Примеры

Смотрите также

Ссылки

  1. ^ Грайс, Дэвид ; Шнайдер, Фред Б. (1993), "Глава 2. Булевы выражения", Логический подход к дискретной математике, Монографии по информатике, Springer, стр. 25 и далее, ISBN 9780387941158.
  2. ^ ван Мелкебек, Дитер (2000), Случайность и полнота в вычислительной сложности, Lecture Notes in Computer Science , т. 1950, Springer, стр. 22, ISBN 9783540414926.
  3. ^ Например, для Java см. Brogden, William B.; Green, Marcus (2003), Java 2 Programmer, Que Publishing, стр. 45, ISBN 9780789728616.

Внешние ссылки