В 19 веке Джордж Буль заложил основы булевой алгебры. Джордж Буль оценивал каждое высказывание в виде утверждений имеющих либо ложное, либо истинное значение. Основополагающие принципы булевой алгебры лежат в основе вычислительных операций в каждом компьютере.
Во всех языках программирования в том или ином виде присутствует логический тип данных - который присутствует в логических выражениях. В информатике такие данные имеют только два возможных значения - ДА или НЕТ.
Зачастую логическое значение реализуется через численный тип, где: - "0" - это ЛОЖЬ (НЕТ, False) - "1" - это ИСТИНА (ДА, True)
Высказывания булевой алгебры обозначаются буквами латинского алфавита и над ними можно проводить следующие операции: - Отрицание - оформляется в виде черточки над буквой (в коде оформляется - "NOT", "~", "!" ) - Дизъюкция (логическое сложение) - x + y (логическое "ИЛИ", в коде оформляется - "OR", "|") - Конъюкция (логическое умножение) - x * y (логическое "И", в коде оформляется - "AND", "&")
Также существуют другие операции Булевой алгебры, например: - Исключающее ИЛИ - (в коде оформляется - "XOR", "^")
В соответствии с данными типами операций можно составить таблицы истинности:
Таблица истинности для логического ИЛИ - сложение
a
b
a + b
Другими словами: Если хоть один из элементов имеет значение ИСТИНА, то все выражение является ИСТИНОЙ
Таблица истинности для логического И - умножение
a
b
a * b
Другими словами: Если хоть один из элементов имеет значение ЛОЖЬ, то все выражение является ЛОЖНЫМ
Отрицание
a
не а
В данном случае происходит инверсия значения на противоположное.