Логическую операцию умножения также называют

Логическую операцию умножения также называют

Содержание

Логическое умножение — одна из трех базовых операций логической алгебры.

Соединение двух (или нескольких) высказываний союзом И называется конъюнкцией или логическим умножением. Логическое умножение схоже с союзом И в естественном языке, если он употребляется в смысле «и то, и это». Операцию логического умножения часто называют операцией ЛОГИЧЕСКОГО И .

Высказывание А * В истинно (равно 1) тогда, когда равны 1 (истинны) обе переменных.

0 * 0 = 0

1 * 1 = 1

Конъюнкция обозначается символом , знаком умножения ( * ) или знаком амперсанд & .

Правила логического умножения двух высказываний можно свести в следующую таблицу:

A B A * B
0 0 0
0 1 0
1 0 0
1 1 1

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

Конъюнкция n переменных истинна тогда и только тогда, когда все составляющие ее переменные истинны.

Другие базовые операции в алгебре логики

Сайт находится в разработке, поэтому, пожалуйста, проявите снисходительность к тому, что материалов, пока мало.

Популярное

  • Устройство и программирование микроконтроллеров AVR для начинающих — 143
  • Трехканальный термостат, терморегулятор, таймер на ATmega8 — 70
  • Двухканальный термостат, терморегулятор на ATmega8 — 67

Логика
Логические операции и выражения
Таблица истинности
Логический элемент

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

Логика это не просто древнегреческое слово, а целая наука, изучение которой позволяет нам правильно и здраво рассуждать, и, соответственно, делать правильные выводы из наших рассуждений, чего, однако, очень не хватает в нашем современном мире (поэтому и говорят «нелогичный человек», «нелогичный поступок»).
Рассуждая о чем-либо, мы, на основе логических заключений, делаем соответствующие выводы. К примеру, думая о своем товарище, на основе каких-то фактах, характеризующих его, мы можем сделать вывод – друг он нам, или нет (или: «и не друг, и не враг, – а так»).

В конце 19 века, группа лиц, под названием «математики», решила перевести весь наш мыслительный процесс в более понятную для них форму – математическую. И из простой, человеческой логики, появилась математическая, или – символическая логика. В чем суть этого метода. Любая высказанная нами мысль основывается на каких то фактах – кирпичиках, составляющих ее основу. Так вот, в математической логике эти «кирпичики» имеют только два состояния – «ложь» или «истина».
1+1 равно 2 – истинна, 1+1 не равно 2 – ложь. Все просто и понятно. А из таких «кирпичиков», а у математиков они называются – «простые выражения», которые могут быть только или «истинной» , или «ложью» , складываются «сложные выражения», которые тоже могут быть только или «истинными», или «ложными» . А весь этот процесс получения сложного выражения из простых можно описать «логической формулой» или, как еще говорят, – «логическим выражением».

Все современные цифровые технологии основываются на логических операциях , без них никуда не деться. Все цифровые микросхемы в своей работе используют логические схемы (выполняют логические операции, в том числе и микроконтроллер).
Создавая программу, мы прописываем все действия микроконтроллера основываясь на своей логике с применением логических операций, иногда даже и не подозревая об этом, которые применяем к логическим выражениям.
Пример – «если в ходе выполнения программы получен такой результат, то дальше программа пойдет вот таким путем, а если мы получили другой результат, то программа дальше пойдет вот этим путем» – типичное выполнение логической операции.
В программировании логическая операция применяется не только к логическому выражению, но и для операций с двоичными числами, так называемые «логические побитовые (битовые) операции», которые очень сильно облегчают тяжелую жизнь программиста.

Основные логические операции

Существует три основных логических операции при помощи которых можно записать любое логическое выражение (не пугайтесь):

1. Инверсия
2. Конъюнкция
3. Дизъюнкция

Конъюнкция , оно же «Логическое И», оно же «Логическое умножение».
Мы выбираем название «Логическое И» – оно чаще встречается в программировании.
Допустим, у нас есть два простых выражения – А и В. Эти выражения могут иметь значения или 1 (истина), или 0 (ложь). При выполнении операции «Логическое И» мы получим сложное выражение которое примет значение 1 (истина) только в том случае если и А, и В имеют значение 1 (истина), во всех других случаях результат будет 0 (ложь).
Операция «Логическое И» имеет обозначения (в языках программирования): И, &&, AND, &.

Дизъюнкция , оно же «Логическое ИЛИ», оно же «Логическое сложение».
Мы выбираем название «Логическое ИЛИ». Кстати, если логически подумать, то можно и догадаться какие результаты будут при выполнении этой операции.
В «Логическом И» результат равен 1, если и А, и В, равны 1, а в «Логическом ИЛИ» результат будет равен 1, если или А, или В, равны единице.
Операция «Логическое ИЛИ» имеет обозначения: ИЛИ, ||, OR, | .

Инверсия , оно же «Логическое НЕ», оно же «Отрицание».
Мы выбираем название «Логическое НЕ».
Операция «Логическое НЕ» имеет обозначения: НЕ, !, NOT .
Тут вообще все просто:
Если А=1 (истина), то после выполнения операции «Отрицание» А примет значение 0, то есть становится ложным. И наоборот.
Есть еще одно название этой операции «Инвертор», а применяется оно в отношении цифровых микросхем.

В программировании часто применяется еще одна логическая операция – симбиоз «Логического И» и «Логического ИЛИ»:
Строгая дизъюнкция , оно же «Исключающее ИЛИ», оно же «Логическое сложение, исключающее ИЛИ», оно же «Сложение по модулю 2»
Мы выбираем название «Исключающее ИЛИ»
Операция «Исключающее ИЛИ» имеет обозначения: Искл.ИЛИ, XOR, ^ .
В этом случае, при выполнении операции «Исключающее ИЛИ», результат будет истинен (равен 1), если А не равно В. В остальных случаях результат будет равен 0 (ложный).

Таблица истинности

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

Таблицы истинности

Логические элементы

Логические операции – основа цифровой техники. Даже цифровые микросхемы, которые предназначены только для выполнения логических операций, называют – «логические микросхемы» , или еще проще – «логика» .
Немного остановимся на микросхемах логики и мы.
Работа цифровых микросхем логики основана на выполнение трех основных логических операций, с которыми мы ознакомились выше. Сочетание этих логических операций позволило создать большое количество цифровых микросхем логики.
Основа таких микросхем – логический элемент.

Логический элемент выполняющий операцию «Логическое И»

Логический элемент выполняющий операцию «Логическое ИЛИ»

Логический элемент выполняющий операцию «Логическое НЕ»

Логический элемент выполняющий операцию «Исключающее ИЛИ»

Логический элемент выполняющий операцию «Логическое ИЛИ-НЕ»

Логический элемент выполняющий операцию «Логическое И-НЕ»

Кроме таких комбинаций логических операций существует еще ряд других.

Кстати, есть еще одна разновидность логики – женская логика. Весьма интересная штука. Но так как она к сегодняшней теме не относится, то придется, к сожалению, этот вопрос опустить.

(25 голосов, оценка: 4,68 из 5)

Конъюнкция
И, AND

Диаграмма Венна
Определение x y <displaystyle xy>
Таблица истинности ( 0001 ) <displaystyle (0001)>
Логический вентиль
Нормальные формы
Дизъюнктивная x y <displaystyle xy>
Конъюнктивная x y <displaystyle xy>
Полином Жегалкина x y <displaystyle xy>
Принадлежность предполным классам
Сохраняет 0 Да
Сохраняет 1 Да
Монотонна Да
Линейна Нет
Самодвойственна Нет

Конъю́нкция (от лат. conjunctio — «союз, связь») — логическая операция, по смыслу максимально приближенная к союзу «и». Синонимы: логи́ческое «И», логи́ческое умноже́ние, иногда просто «И» [1] .

Конъюнкция может быть бинарной операцией (т. e. иметь два операнда), тернарной операцией (т. e. иметь три операнда), или n-арной операцией (т. e. иметь n операндов).

Содержание

Обозначения [ править | править код ]

Наиболее часто встречаются следующие обозначения для операции конъюнкции:

a ∧ b , a & & b , a & b , a ⋅ b , a A N D b , min ( a , b ) <displaystyle aland b,quad aAnd And b,quad aAnd b,quad acdot b,quad a,,mathrm ,,b,quad min(a,b)>

(в случае использования точки, как знака логического умножения, этот знак, как и при обычном умножении в алгебре, может быть опущен: a b <displaystyle ab> [1] ).

При этом обозначение a ∧ b <displaystyle aland b> , рекомендованное стандартом ISO 31-11, наиболее широко распространено в современной математике и математической логике, где оно, впрочем, конкурирует со знаком амперсанда & [1] ; последний, появившись ещё в I веке до н. э. как графическое сокращение (лигатура) латинского союза et ‘и’, уже Якобом и Иоганном Бернулли в 1685 году использовался в качестве логической связки (у них он, однако, связывал не высказывания, а понятия) [2] [3] . Джордж Буль (а за ним — и другие пионеры систематического применения символического метода к логике: У. С. Джевонс, Э. Шрёдер, П. С. Порецкий) обозначал конъюнкцию знаком ⋅ <displaystyle cdot > — как обычное умножение [4] . Символ ⋀ (перевёрнутый знак дизъюнкции) в качестве обозначения конъюнкции был предложен Арендом Гейтингом (1930) [5] .

Обозначение ⋀ для конъюнкции было использовано и в раннем языке программирования Алгол 60 [6] . Однако из-за отсутствия соответствующего символа в стандартных наборах символов (например, в ASCII или EBCDIC), применявшихся на большинстве компьютеров, в получивших наибольшее распространение языках программирования были предусмотрены иные обозначения для конъюнкции. Так, в Фортране IV и PL/I применялись соответственно обозначения .AND. и & (с возможностью замены последнего на ключевое слово AND ) [7] ; в языках Паскаль и Ада используется зарезервированное слово and [8] [9] ; в языках C и C++ применяются обозначения & для побитовой конъюнкции и && для логической конъюнкции [10] ).

Наконец, при естественном упорядочении значений истинности двузначной логики (когда полагают, что 0 1 <displaystyle 0 ), оказывается, что ( a ∧ b ) = min ( a , b ) . <displaystyle (aland b),=,min(a,b).> Таким образом, конъюнкция оказывается частным случаем операции вычисления минимума; это открывает наиболее естественный способ определить операцию конъюнкции в системах многозначной логики (хотя иногда рассматривают и другие способы обобщения конъюнкции — например, такой: ( a ∧ b ) = a b ( mod ⁡ k ) <displaystyle (aland b),=,ab;(operatorname k)> в случае k-значной логики, в которой множество значений истинности представлено начальным отрезком < 0 , … , k − 1 ><displaystyle <0,dots ,k-1>> полугруппы N <displaystyle mathbb > натуральных чисел) [11] [12] .

Булева алгебра [ править | править код ]

Определение.
Логическая функция MIN в двухзначной (двоичной) логике называется конъюнкция (логи́ческое «И», логи́ческое умноже́ние или просто «И»).

Правило: результат равен наименьшему операнду.

Описание.
В булевой алгебре конъюнкция — это функция двух, трёх или более переменных (они же — операнды операции, они же — аргументы функции). Переменные могут принимать значения из множества < 0 , 1 ><displaystyle <0,1>> . Результат также принадлежит множеству < 0 , 1 ><displaystyle <0,1>> . Вычисление результата производится по простому правилу, либо по таблице истинности. Вместо значений 0 , 1 <displaystyle 0,1> может использоваться любая другая пара подходящих символов, например f a l s e , t r u e <displaystyle false,true> или F , T <displaystyle F,T> или «ложь», «истина», но при таком обозначении необходимо дополнительно доопределять старшинство, например, false>"> t r u e > f a l s e <displaystyle true>false> false"/> , при цифровом обозначении старшинство естественно 0>"> 1 > 0 <displaystyle 1>0> 0"/> .
Правило: результат равен 1 <displaystyle 1> , если все операнды равны 1 <displaystyle 1> ; во всех остальных случаях результат равен 0 <displaystyle 0> .

Таблицы истинности:
для бинарной конъюнкции

для тернарной конъюнкции

Многозначная логика [ править | править код ]

Операции, называемой в двоичной логике конъюнкция, в многозначных логиках обычно сопоставляется операция минимум: m i n ( a , b ) <displaystyle min(a,b)> , где a , b ∈ < 0 , … , k − 1 >, <displaystyle a,bin <0,dots ,k-1>,> а k <displaystyle k> — значность логики; впрочем, возможны и другие варианты обобщения обычной конъюнкции на многозначный случай. Как правило, стараются сохранить совместимость с булевой алгеброй для значений операндов 0 <displaystyle 0> и k − 1 <displaystyle k-1> .

Следует отметить, что название этой операции минимум имеет смысл в логиках с любой значностью, в том числе и в двоичной логике, а названия конъюнкция, логи́ческое «И», логическое умноже́ние и просто «И» характерны для двоичной логики, а при переходе к многозначным логикам используются реже.

Классическая логика [ править | править код ]

В классическом исчислении высказываний свойства конъюнкции определяются с помощью аксиом. Классическое исчисление высказываний может быть задано разными системами аксиом, и некоторые из них будут описывать свойства конъюнкции. Один из самых распространённых вариантов включает 3 аксиомы для конъюнкции:
a ∧ b → a <displaystyle aland b o a>
a ∧ b → b <displaystyle aland b o b>
a → ( b → ( a ∧ b ) ) <displaystyle a o (b o (aland b))>

С помощью этих аксиом можно доказать другие формулы, содержащие операцию конъюнкции. Обратите внимание, что в классическом исчислении высказываний не происходит вычисления результата по значениям операндов (как в булевой алгебре), а требуется доказать формулу как единое целое на основе аксиом и правил вывода.

Схемотехника [ править | править код ]

Логический элемент, реализующий функцию конъюнкции, называется схемой совпадения [13] . Мнемоническое правило для конъюнкции с любым количеством входов звучит так: На выходе будет:

  • «1» тогда и только тогда, когда на всех входах есть «1»,
  • «0» тогда и только тогда, когда хотя бы на одном входе есть «0»

Теория множеств [ править | править код ]

С точки зрения теории множеств, конъюнкция аналогична операции пересечения.

Программирование [ править | править код ]

В компьютерных языках используется два основных варианта конъюнкции: логическое «И» и побитовое (поразрядное) «И». Например, в языках C/C++ логическое «И» обозначается символом «&&», а побитовое — символом «&». В терминологии, используемой в C#, операцию «&» принято называть логическим «И», а операцию «&&» — условным «И», поскольку значения операндов являются условиями для продолжения вычисления. В языках Pascal/Delphi оба вида конъюнкции обозначаются с использованием ключевого слова «and», а результат действия определяется типом операндов. Если операнды имеют логический тип (например, Boolean) — выполняется логическая операция, если целочисленный (например, Byte) — поразрядная.

Логическое «И» применяется в операторах условного перехода или в аналогичных случаях, когда требуется получение результата f a l s e <displaystyle false> или t r u e <displaystyle true> . Например:

Сравнение в данном случае будет продолжаться до конца выражения, независимо от промежуточных результатов. Принцип работы условного «И» в аналогичной ситуации:

Проверка истинности выражения в данном случае остановится после проверки переменной a, так как дальнейшее сравнение не имеет смысла.

Результат будет равен t r u e <displaystyle true> , если оба операнда равны t r u e <displaystyle true> (для числовых типов не равны 0 <displaystyle 0> ). В любом другом случае результат будет равен f a l s e <displaystyle false> .

При этом применяется стандартное соглашение: если значение левого операнда равно f a l s e <displaystyle false> , то значение правого операнда не вычисляется (вместо b <displaystyle b> может стоять сложная формула). Такое соглашение ускоряет исполнение программы и служит полезным приёмом в некоторых случаях. Компилятор Delphi поддерживает специальную директиву, включающую

подобное поведение. Например, если левый операнд проверяет возможность вычисления правого операнда:

В этом примере, благодаря проверке в левом операнде, в правом операнде никогда не произойдет деления на ноль.

Побитовое «И» выполняет обычную операцию булевой алгебры для всех битов левого и правого операнда попарно. Например,

если
a = 01100101 2 <displaystyle 01100101_<2>>
b = 00101001 2 <displaystyle 00101001_<2>>
то
a И b = 00100001 2 <displaystyle 00100001_<2>>

Связь с естественным языком [ править | править код ]

Часто указывают на сходство между конъюнкцией и союзом «и» в естественном языке. Составное утверждение «A и B» считается истинным, когда истинны оба утверждения A и B, в противном случае составное утверждение ложно. Это в точности соответствует определению конъюнкции в булевой алгебре, если «истину» обозначать как 1 <displaystyle 1> , а «ложь» как 0 <displaystyle 0> . При этом часто делают стандартную оговорку о неоднозначности естественного языка. Например, в зависимости от контекста союз «и» может нести дополнительный оттенок «и тогда», «и поэтому», «и потом». Отличие логики естественного языка от математической остроумно выразил американский математик Стивен Клини, заметив, что в естественном языке «Мэри вышла замуж и родила ребенка» — не то же самое, что «Мэри родила ребенка и вышла замуж».

Читайте также:  Наклейка зеркала на дверь шкафа
Оценить статью
Добавить комментарий