Tw-city.info

IT Новости
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Логическое или в программировании

Урок №43. Логические операторы: И, ИЛИ, НЕ

Обновл. 30 Дек 2019 |

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

Также иногда нам нужно знать, является ли хоть одно из нескольких условий истинным. Например, мы не пойдём сегодня на работу, если больны или слишком устали, или если выиграли в лотерею 🙂 Нам нужно проверить, является ли хоть одно из этих 3 условий истинным. Как это сделать? С помощью логических операторов! Они позволяют проверить сразу несколько условий за раз.

В C++ есть 3 логических оператора:

Логический оператор НЕ

Если операндом является true, то после применения логического НЕ результатом будет false. Если же операнд до применения оператора НЕ является false, то после его применения — станет true. Другими словами, логический оператор НЕ меняет результат с true на false и наоборот. Он часто используется в условных выражениях:

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

Но х ведь не равно у , как это возможно? Поскольку приоритет логического оператора НЕ выше, чем приоритет оператора равенства, то выражение ! х == у обрабатывается как (! х) == у . Так как х — это 5 , то !x — это 0 . Условие 0 == у ложное, поэтому выполняется часть else!

Напоминание: Любое ненулевое целое значение в логическом контексте является true. Так как х = 5 , то х вычисляется как true, а вот !x = false , т.е. 0 . Использование целых чисел в логических операциях подобным образом может запутать не только пользователя, но и самого разработчика, поэтому мы не советуем так делать!

Правильный способ написания программы выше:

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

Логический оператор ИЛИ

Если хоть одно из двух условий является истинным, то логический оператор ИЛИ является true.

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

Вы можете соединить сразу несколько условий:

value1 || (value2 && value3)

(value1 || value2) && value3

Хорошей практикой является использование круглых скобок с операциями. Это предотвратит ошибки приоритета, увеличит читабельность кода и чётко даст понять компилятору, как следует обрабатывать выражения. Например, вместо того, чтобы писать value1 && value2 || value3 && value4 , лучше записать (value1 && value2) || (value3 && value4) .

Законы Де Моргана

Многие программисты совершают ошибку, думая, что !(x && y) — это то же самое, что и !x && !y . К сожалению, вы не можете «использовать» логическое НЕ подобным образом.

!(x && y) эквивалентно !x || !y
!(x || y) эквивалентно !x && !y

Другими словами, логические операторы И и ИЛИ меняются местами! В некоторых случаях, это даже полезно: улучшает читабельность.

А где же побитовое исключающее ИЛИ (XOR)?

Побитовое исключающее ИЛИ (XOR) — это логический оператор, который используется в некоторых языках программирования для проверки на истинность нечётного количества условий.

В C++ нет такого оператора. В отличии от логических И/ИЛИ, к XOR не применяется короткий цикл вычислений. Однако его легко можно сымитировать, используя оператор неравенства (!=):

Можно также расширить количество операндов:

Следует отметить, что приведенные выше шаблоны XOR работают только, если операнды логического типа данных (а не целочисленных типов). Если вы хотите, чтобы это работало и с целыми числами, то используйте оператор static_cast.

Форма XOR, которая работает и с другими типами данных (с помощью static_cast мы можем конвертировать любой тип данных в bool):

Какой результат следующих выражений?

(true && true) || false

(false && true) || true

(false && true) || false || true

(5 > 6 || 4 > 3) && (7 > 8)

Ответ

Примечание: В ответах объяснение выполняется с помощью стрелочки (=>). Например, (true || false) => true означает, что результатом выражения (true || false) является true .

(true && true) || false => true || false => true

(false && true) || true => false || true => true

(false && true) || false || true => false || false || true => false || true => true

(5 > 6 || 4 > 3) && (7 > 8) => (false || true) && false => true && false => false

!(7 > 6 || 3 > 4) => !(true || false) => !true => false

Курсы «C#.NET Developer»

Курсы «Java Developer»

Курсы «Frontend Developer»

Курсы «JavaScript Developer»

Курсы «Python Developer»

Курсы «Unity/Game Developer»

Поделиться в социальных сетях:

Урок №42. Операторы сравнения

Комментариев: 11

Подскажите пожалуйста, в соответствии со стандартом C++, оператор && всегда вычисляет оба операнда или только если первый из них возвращает true?

будут ли всегда выполнены обе функции f1() и f2()?

если f1() или f2() возвращает false, то будет выполнена только одна из функций, но какая именно стандартом не регламентируется

в данном выражении обе функции выполняться только в случае если первая будет true

Не перестаю восхищаться изложенному материалу! Огромное спасибо за проделанную работу!

Пожалуйста)) Мне приятно)

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

«Для реализации оператора XOR» используют ^. В с++ — это именно XOR, а не возведение в степень.

^ — это битовый оператор, а данная статья — о логических. Логического XOR в плюсах нет.
Для побитового исключения используется именно ^ . Для реализации же логического XOR использовать ^ крайне глупо потому что:
1. Сравнивая булевы значения будет очевидней(и эффективней, хоть эти наносекунды уже никого не интересуют) написать true != false , чем true ^ false .
2. В случае сравнения не булевых значений стоит продолжать существующую логику. На примере чисел: любое число, отличное от нуля — это true. Следовательно нельзя просто написать 1 ^ 2 — потому что эта операция вернет 3 , что интерпретируется, как true . Почему? Потому что любое не нулевое число должно восприниматься, как истина, следовательно 1 -> true , 2 -> true . результатом XOR между ними должен быть false . Таким образом доказываем неприминимость ^ , приходим к необходимости преобразования операндов в булевы значения и смотрим пункт 1.

Читать еще:  Язык программирования си шарп

^ — это побитовый оператор… ожидать от него поведения логического XOR — нарываться на потенциальные алгоритмические ошибки…
можно в качестве XOR использовать оператор != для логических выражений (тоже некорректно работает, если Вы ожидаете неявных преобразований типов)

Скажите, пожалуйста, почему в примере из урока нужно использовать if (!(x == y)), а не if (x != y) ?

Можно использовать и второй вариант, но != зачастую используется для реализации оператора XOR и в цепочке операндов, а !(==) для проверки на неравенство определенного выражения. Но использовать можно как первый, так и второй вариант — работать будет.

Логические операторы в си

Логические операторы

Л огические операторы – это операторы, которые принимают в качестве аргументов логические значений (ложь или истину) и возвращают логическое значение. Как и обычные операторы, они могут быть одноместными (унарными, т.е. принимать один аргумент), двуместными (бинарные, принимают два аргумента), трёхместными и т.д.

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

Логические значения обычно порождаются операторами сравнения (==, !=, >, =. Логический оператор НЕ

В си отрицание представлено оператором !. Например

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

Логическое И

О ператор И (AND, логическое умножение) возвращает истину тогда и только тогда, когда оба аргумента являются истиной.

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

Оператор И может применяться последовательно к нескольким аргументам. Для него действует ассоциативный и коммутативный законы. Усовершенствуем программу, будем также вводить рост:

Также условие могло быть записано

Логическое ИЛИ

О ператор логическое ИЛИ (логическое сложение, OR) истинен тогда, когда истиной является хотя бы один его аргумент.

В си ИЛИ представлен оператором ||. Например, усовершенствуем программу: теперь пол можно вводить как большой, так и маленькой буквой

Как и в случае оператора И, ИЛИ коммутативен и ассоциативен.

Операторы можно перемешивать друг с другом, создавая сложные операторы

Стоит только помнить о том, что оператор отрицания имеет больший приоритет, чем И или ИЛИ, поэтому будет выполняться в первую очередь. Если может случиться ситуация, когда порядок выполнения не ясен, определите его с помощью скобок.

Пример: закон де-Моргана. Чтобы сменить И на ИЛИ (или наоборот), необходимо инвертировать значения всех операндов, заменить И на ИЛИ (или ИЛИ на И) и инвертировать конечный результат. В случае с нашим условием

Рассмотрим сначала кусок

Меняем все значения на обратные

заменяем оператор && на ||

и инвертируем ответ

Как видим, результат тот же. Очевидно, что

Таким образом, изменим условие

Поменяем таким же образом вторую скобку

Теперь можно применить это же правило и для всего выражения

Порядок выполнения логических операторов

Р ассмотрим выражение

где a, b, c, d – логические значения. Всё выражение равно истине тогда и только тогда, когда все операнды истинны. Если хотя бы один из операндов ложь, то остальные уже не важны. Поэтому, для оптимизации работы, вычисление происходит слева направо и останавливается, как только был найден первый операнд, равный нулю.

В си оператор присваивания может возвращать значение. Иногда он используется непосредственно в условии:

В данном случае, оператор malloc не будет выполнен, так как первый операнд a равен 0 (соответственно, всё выражение равно нулю). Таким образом, оператор free попытается очистить память, которую не может очистить (т.к. p продолжит ссылаться на a). Если же мы поменяем a = 1, то всё отработает без проблем.

То же самое происходит и при выполнение ||. Выражение

выполняется слева направо до тех пор, пока не встретит первое ненулевое значение. После этого выполнение останавливается, так как известно, что всё выражение равно истине.

Очевидно, что это касается не только оператора присваивания, но и любого другого вызова функции. Например, в этом случае функции foo будет вызвана, bar нет.

Вывод – не используйте присваивания и вызовов функций (особенно, если они изменяют состояние программы) внутри условий.

Основные логические операции. AND, NOT, OR и XOR (исключающее или)

В этой статье мы поговорим о некоторых битовых операциях. Рассмотрим основные из них: XOR (исключающее ИЛИ), AND (И), NOT (НЕ) а также OR (ИЛИ).

Как известно, минимальной единицей измерения информации является бит, который хранит одно из 2-х значений: 0 (False, ложь) либо 1 (True, истина). Таким образом, битовая ячейка может одновременно находиться лишь в одном из двух возможных состояний.

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

Логическая операция AND (и)

AND обозначается знаком & .

Оператор AND выполняется с 2-мя битами, возьмём, к примеру, a и b. Результат выполнения операции AND равен 1, если a и b равняются 1. В остальных случаях результат равен 0. Например, с помощью AND вы можете узнать, чётное число или нет.

Посмотрите на таблицу истинности операции AND:

Логическая операция OR (ИЛИ)

Оператор OR также выполняется с 2-мя битами (a и b). Результат равен 0, если a и b равны 0, иначе он равен 1. Смотрим таблицу истинности.

Читать еще:  Основы программирования с чего начать

Логическая операция XOR (исключающее ИЛИ)

Оператор XOR обозначается ^ .

XOR выполняется с 2-мя битами (a и b). Результат выполнения операции XOR (исключающее ИЛИ) равен 1, когда один из битов b или a равен 1. В остальных ситуациях результат применения оператора XOR равен 0.

Таблица истинности логической операции для XOR (исключающее ИЛИ) выглядит так:

Используя XOR (исключающее ИЛИ), вы можете поменять значения 2-х переменных одинакового типа данных, не используя временную переменную. А ещё, посредством XOR можно зашифровать текст, например:

Согласен, XOR — далеко не самый надёжный метод шифрования, но это не значит, что его нельзя сделать частью какого-либо шифровального алгоритма.

Логическая операция NOT (НЕ)

Это побитовое отрицание, поэтому выполняется с одним битом и обозначается

Результат зависит от состояния бита. Если он в нулевом состоянии, то итог операции — единица и наоборот. Всё предельно просто.

Эти 4 логические операции следует запомнить в первую очередь, т. к. с их помощью можно получить практически любой возможный результат. Также существуют такие операции, как (побитовый сдвиг влево) и >> (побитовый сдвиг вправо).

Логическое ИЛИ

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

Это бинарная инфиксная операция, то есть, она имеет два операнда и стоит между ними. Чаще всего встречаются следующие варианты записи:
|| | .

Содержание

Булева алгебра

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

Многозначная логика

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

Классическая логика

В классическом исчислении высказываний свойства дизъюнкции определяются с помощью аксиом. Классическое исчисление высказываний может быть задано разными системами аксиом, и некоторые из них будут описывать свойства дизъюнкции. Один из самых распространенных вариантов включает 3 аксиомы для дизъюнкции:


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

Программирование

В компьютерных языках используется два основных варианта дизъюнкции: логическое «ИЛИ» и побитовое «ИЛИ». Например, в языках C/C++ логическое «ИЛИ» обозначается символом «||», а побитовое — символом «|».

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

Результат будет равен , если оба операнда равны или . В любом другом случае результат будет равен .

При этом применяется стандартное соглашение: если значение левого операнда равно , то значение правого операнда не вычисляется (вместо может стоять сложная формула). Такое соглашение ускоряет исполнение программы и служит полезным приемом в некоторых случаях. Например, если левый операнд проверяет необходимость вычисления правого операнда:

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

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

Связь с естественным языком

Часто указывают на сходство между дизъюнкцией и союзом «или» в естественном языке, когда он употребляется в смысле «или то, или то, или оба сразу». В юридических документах часто пишут: «и/или», подразумевая «или то, или то, или оба сразу». Составное утверждение «A и/или B» считается ложным, когда ложны оба утверждения A и B, в противном случае составное утверждение истинно. Это в точности соответствует определению дизъюнкции в булевой алгебре, если «истину» обозначать как 1 , а «ложь» как 0 .

Неоднозначность естественного языка заключается в том, что союз «или» используется в двух значениях: то для обозначения дизъюнкции, то для другой операции — исключающего «ИЛИ».

См. также

Wikimedia Foundation . 2010 .

Смотреть что такое «Логическое ИЛИ» в других словарях:

Логическое «или» — Дизъюнкция логическая операция, по своему применению максимально приближенная к союзу «или» в смысле «или то, или это, или оба сразу». Синонимы: логическое «ИЛИ», включающее «ИЛИ», логическое сложение, иногда просто «ИЛИ». Это бинарная инфиксная … Википедия

Логическое сложение — Дизъюнкция логическая операция, по своему применению максимально приближенная к союзу «или» в смысле «или то, или это, или оба сразу». Синонимы: логическое «ИЛИ», включающее «ИЛИ», логическое сложение, иногда просто «ИЛИ». Это бинарная инфиксная … Википедия

Или — В Викисловаре есть статья «или» Или слово русского языка, союз, выражающий альтернативу … Википедия

ЛОГИЧЕСКОЕ И ИСТОРИЧЕСКОЕ — см. Историческое и логическое. Философский энциклопедический словарь. М.: Советская энциклопедия. Гл. редакция: Л. Ф. Ильичёв, П. Н. Федосеев, С. М. Ковалёв, В. Г. Панов. 1983. ЛОГИЧЕСКОЕ И ИСТОРИЧЕСКОЕ … Философская энциклопедия

Логическое высказывание — утверждение, которому всегда можно поставить в соответствие одно из двух логических значений: ложь (0, ложно, false) или истина (1, истинно, true). Логическое высказывание принято обозначать заглавными латинскими буквами. Высказывательной формой… … Википедия

Логическое толкование — способ толкования, при котором смысл нормы выясняется в ходе исследования логического построения правовых предписаний, основанный на непосредственном использовании законов и правил логики. Логическое толкование это уяснение содержания правовой… … Элементарные начала общей теории права

логическое устройство (на подстанции) — логическое устройство Объект, представляющий набор типичных функций подстанции. [ГОСТ Р МЭК 61850 7 2 2009] Пример При реализации каждое логическое устройство, логический узел, данные и атрибут данных имеют имя объекта (имя экземпляра), которое… … Справочник технического переводчика

Логическое управление — Логическое управление вид управления, который основывается на истинности и ложности каких либо предпосылок (двоичных сигналов условий от объекта управления). Результатом управления является выдача двоичных управляющих воздействий… … Википедия

Логическое выражение — в программировании конструкция языка программирования, результатом вычисления которой является «истина» или «ложь». Содержание 1 Операторы 2 Операции 3 Примеры … Википедия

ЛОГИЧЕСКОЕ ИСЧИСЛЕНИЕ — см. Логистика. Философский энциклопедический словарь. 2010. ЛОГИЧЕСКОЕ ИСЧИСЛЕНИЕ исчисление ( … Философская энциклопедия

Читать еще:  Программирование на powershell

Мир микроконтроллеров

Популярное

  • Устройство и программирование микроконтроллеров 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)

Ссылка на основную публикацию
Adblock
detector