В інформатиці бу́левий ви́раз (логі́чний ви́раз) — це вираз, що використовується в мовах програмування, що створює логічне значення при обчисленні. Булеве значення є або true (пра́вда), або false (хи́бність).
Логічний вираз може складатися з комбінації булевих констант правди́вого чи хи́бного типів булевих змінних, булевих операторів та функцій булевого значення.[1]
Булеві вирази відповідають пропозиційним формулам[en] у логіці та є частковим випадком булевих схем[en].[2]
Логічні оператори
Більшість мов програмування мають логічні оператори АБО, І та НЕ (англ. OR, AND, NOT); на мові С та деяких нових мов вони представлені символом "||" (символ подвійної труби), «&&» (подвійний амперсанд) та «!» (знак оклику) відповідно, тоді як відповідні побітові операції представлені "|", «&» та «~» (тильда).[3] У математичній літературі часто використовуються символи «+» (плюс), " · " (крапка) та надбарка[en], або «∨» (чашка), «∧» (ковпачок) та «¬» або «′» (prime) .
Приклади
- Вираз
5 > 3
оцінюється як правда. - Вираз
3 > 5
оцінюється як хибність. 5>=3
і3<=5
це еквівалентні булеві вирази, обидва з яких оцінюються як true .typeof true
іtypeof false
повертає boolean- Звичайно, більшість булевих виразів будуть містити принаймні одну змінну (
X > 3
), а часто і більше (X > Y
).
Див. також
- Вираз (інформатика)
- Вираз (математика)
Примітки
- ↑ Gries, David; Schneider, Fred B. (1993), Chapter 2. Boolean Expressions, A Logical Approach to Discrete Math, Monographs in Computer Science, Springer, с. 25ff, ISBN 9780387941158.
- ↑ van Melkebeek, Dieter (2000), Randomness and Completeness in Computational Complexity, Lecture Notes in Computer Science, т. 1950, Springer, с. 22, ISBN 9783540414926, архів оригіналу за 26 квітня 2021, процитовано 18 квітня 2021.
- ↑ E.g. for Java see Brogden, William B.; Green, Marcus (2003), Java 2 Programmer, Que Publishing, с. 45, ISBN 9780789728616, архів оригіналу за 26 квітня 2021, процитовано 18 квітня 2021.
Посилання
- (англ.)Обчислення логіки [Архівовано 30 квітня 2008 у Wayback Machine.], Джордж Бул, Кембриджський та Дублінський математичний журнал вип. III (1848), С.183–98.