Пятница, 21.01.2022 08:00

Практическое применение булевой арифметики. Часть первая - Основы булевой арифметики

Практическое применение булевой арифметики. Часть первая - Основы булевой арифметики

Сегодня мы рассмотрим основы булевой арифметики и практическое её применение в С++.

Булева алгебра – раздел математики, рассматривающий логику с математической точки зрения.

Во многом основана на трудах Джорджа Буля (1815-1864). Мы будем рассматривать логические операции над числами 0 и 1. Часто эти операции называют Булевой арифметикой, так как над числами выполняются элементарные действия.

Давайте рассмотрим виды операций, которые мы можем совершать с 0 и 1. Для наглядности мы будем рассматривать их на примере простой электрической схемы с выключателем и лампочкой.

bool_lamp_0.png

Операция сложения или операция ИЛИ

В программировании операция логического сложения чаще называется операцией ИЛИ (OR).

Логическое сложение подчиняется определенным правилам:

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1

 Рассмотрим схему:

bool_lamp_or_off.png

Это и есть аналог операции логического сложения

Мы можем записать её несколькими способами, от этого смысл не изменится.

0 ИЛИ 0
0 OR 0
0 | 0

Если оба выключателя подняты, то ток не течет по цепи и лампочка не горит.

Рассмотрим две других схемы:

bool_lamp_or_on.png

Если один из выключателей опущен, то лампочка будет гореть.

Запишем как:

0 ИЛИ 1
0 OR 1
0 | 1

Или:

1 ИЛИ 0
1 OR 0
1 | 0

Результат операции будет одинаков = 1.

Рассмотрим следующую схему:

 bool_lamp_or_on_all.png

 Если все выключатели опущены результат будет = 1

Запишем как

1 ИЛИ 1
1 OR 1
1 | 1

Операция умножения или операция И 

В программировании операция логического умножения чаще называется операцией И (AND).

Логическое умножение подчиняется определенным правилам:

0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1

Рассмотрим схему:

bool_lamp_1_o_0.png 

Все выключатели подключены последовательно. Не важно какой из них поднят, при любом количестве поднятых выключателей ток по цепи протекать не будет, и лампочка не загорится.

Мы можем записать эти операции как: 

0 И 0
0 AND 0
0 & 0

0 И 1
0 AND 1
0 & 1


1 И 0
1 AND 0
1 & 0

Результат всегда будет = 0

Рассмотрим схему:

 bool_lamp_1_o_1.png

Здесь единственный случай, когда лампочка горит, так как оба выключателя опущены: 

1 И 1
1 AND 1
1 & 1

Операция НЕ

Здесь мы не будем рассматривать схему, всё очень просто, 0 превращается в 1, а 1 превращается в 0

1 = 0
0 = 1

Записывается она следующим образом:

НЕ 0
NOT 0
!0

Результатом операции всегда будет противоположный элемент.

Мы рассмотрели основные битовые операции. Еще существует исключающее ИЛИ (XOR), но его мы уже рассмотрим в следующих частях на конкретных примерах.

Заключение

Сегодня мы рассмотрели на примерах простой электрической схемы основы булевой арифметики - операции:

И
ИЛИ
НЕ

В следующей части мы рассмотрим двоичную систему счисления.

Категория C++
Теги Linux

Добавить комментарий

Простой текст

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
Просмотров: 102