Практическое применение булевой арифметики. Часть первая - Основы булевой арифметики
Сегодня мы рассмотрим основы булевой арифметики и практическое её применение в С++.
Булева алгебра – раздел математики, рассматривающий логику с математической точки зрения.
Во многом основана на трудах Джорджа Буля (1815-1864). Мы будем рассматривать логические операции над числами 0 и 1. Часто эти операции называют Булевой арифметикой, так как над числами выполняются элементарные действия.
Давайте рассмотрим виды операций, которые мы можем совершать с 0 и 1. Для наглядности мы будем рассматривать их на примере простой электрической схемы с выключателем и лампочкой.
![]()
Операция сложения или операция ИЛИ
В программировании операция логического сложения чаще называется операцией ИЛИ (OR).
Логическое сложение подчиняется определенным правилам:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1Рассмотрим схему:
![]()
Это и есть аналог операции логического сложения
Мы можем записать её несколькими способами, от этого смысл не изменится.
0 ИЛИ 0
0 OR 0
0 | 0Если оба выключателя подняты, то ток не течет по цепи и лампочка не горит.
Рассмотрим две других схемы:
![]()
Если один из выключателей опущен, то лампочка будет гореть.
Запишем как:
0 ИЛИ 1
0 OR 1
0 | 1Или:
1 ИЛИ 0
1 OR 0
1 | 0Результат операции будет одинаков = 1.
Рассмотрим следующую схему:
![]()
Если все выключатели опущены результат будет = 1
Запишем как
1 ИЛИ 1
1 OR 1
1 | 1Операция умножения или операция И
В программировании операция логического умножения чаще называется операцией И (AND).
Логическое умножение подчиняется определенным правилам:
0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1Рассмотрим схему:
Все выключатели подключены последовательно. Не важно какой из них поднят, при любом количестве поднятых выключателей ток по цепи протекать не будет, и лампочка не загорится.
Мы можем записать эти операции как:
0 И 0
0 AND 0
0 & 0
0 И 1
0 AND 1
0 & 1
1 И 0
1 AND 0
1 & 0Результат всегда будет = 0
Рассмотрим схему:
![]()
Здесь единственный случай, когда лампочка горит, так как оба выключателя опущены:
1 И 1
1 AND 1
1 & 1Операция НЕ
Здесь мы не будем рассматривать схему, всё очень просто, 0 превращается в 1, а 1 превращается в 0
1 = 0
0 = 1Записывается она следующим образом:
НЕ 0
NOT 0
!0Результатом операции всегда будет противоположный элемент.
Мы рассмотрели основные битовые операции. Еще существует исключающее ИЛИ (XOR), но его мы уже рассмотрим в следующих частях на конкретных примерах.
Заключение
Сегодня мы рассмотрели на примерах простой электрической схемы основы булевой арифметики - операции:
И
ИЛИ
НЕВ следующей части мы рассмотрим двоичную систему счисления.
Добавить комментарий