Существует ли алгебра логики с оператором логического вычитания?

В булевой алгебре есть три операции: И(конъюнкция), ИЛИ(дизъюнкция), НЕ(отрицание);
которые могут быть преобразованы в математические выражения как: *, +, 1-;
соответственно. Таким образом, выражение НЕ (A И B) И (A ИЛИ B), оно же XOR, может быть записано как
(1-(A*B))*(A+B) = A+B-(A+B)*(A*B) = A+B-(A*A*B+A*B*B)
Исходя из свойства идемпотентности, можно упростить выражение до
A+B-A*B-A*B = A+B-2*A*B = A+B*(1-2A) = A ИЛИ (B И НЕ 2A)
Таблица истинности

A B  !2A  B&!2A  R 
0 0   1     0    0
0 1   1     1    1
1 0  -1     0    1
1 1  -1    -1    0

Это невероятно удобно для упрощения сложных логических выражений, однако, иногда в результате остаётся вычитание и выражение становится невозможно записать через булеву алгебру без обратных преобразований.
Существует ли логическая операция олицетворяющая вычитание? Стоит ли мне пользоваться троичной системой счисления, если результат в 100% случаях будет в двоичной?
В поисках материала на эту тему нашёл только эту статью, в которой сказано, что логическое вычитание/деление не имеют смысла, а так же кучу других, про вычитатели и сумматоры, которые не имеют отношения к теме.
  • Вопрос задан
  • 4358 просмотров
Решения вопроса 1
Griboks
@Griboks
Составим таблицу истинности для математического вычитания.
A B A-B
0 0 0
0 1 1
1 0 1
1 1 0

Получаем, что A-B=A xor B, следовательно - := XOR.

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

Соответственно, смысл у неё во взаимной разности двух множеств, т.е. результат не принадлежит двум множествам одновременно.
A B (Необщая часть A) (Необщая часть B) (Объединения частей)
0 0 0 0 1
0 1 0 1 1
1 0 1 0 1
1 1 0 0 0
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vanyamba-electronics
! (A || B) = (! A) && (! B)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы