Как реализовать такую логику?

Adolf_Balalaykin
Offline
Зарегистрирован: 01.02.2021

Доброго времени суток!

Нужна такая логика

  А | В | Х
------------
  0 | 0 | 0
  0 | 1 | 0
  1 | 0 | 1
  1 | 1 | 0
 
Схемотически выходит так.

Получается декримент с запретом импликации по В. Инверсия импликации от А к В.
Как это реализовать в коде?
Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

... A && !B

Adolf_Balalaykin
Offline
Зарегистрирован: 01.02.2021

Komandir пишет:

... A && !B

Спасибо! А так тоже можно  !(!A || B)   ?

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Можно конечно - это прямая запись того что нарисовано схемой, но операций больше ...

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Komandir пишет:

... A && !B

это при прочтении справа налево?

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Я так понял звучит как: "А и НЕ В" так? С таблицей сходится.

lilik
Offline
Зарегистрирован: 19.10.2017

А со схемой? Так?

Adolf_Balalaykin
Offline
Зарегистрирован: 01.02.2021

lilik пишет:

А со схемой? Так?

Да и по таблице истиности верно. Оба варианта дублируют друг друга.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Есть правила и для преобразования булевых выражений - законы алгебры логики.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

ua6em пишет:

Komandir пишет:

... A && !B

это при прочтении справа налево?

Приоритет ! много выше чем приоритет & и &&.

Код
Serial.println(0&&!0);
Serial.println(0&&!1);
Serial.println(1&&!0);
Serial.println(1&&!1);
и такой
Serial.println(0&!0);
Serial.println(0&!1);
Serial.println(1&!0);
Serial.println(1&!1);
выдают
0
0
1
0

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Что интересно, на форуме есть краткая справка: http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/pesochnitsa-novichok-prochti#comment-410900