Может ли операция «и» кодироваться с использованием только сложения, вычитания и двоичного дополнения? - PullRequest
0 голосов
/ 11 октября 2018

Предположим, у меня есть две двоичные переменные A и B (размер хранилища не ограничен, я всегда могу увеличить размер для этой задачи).

C рассчитывается следующим образом

C = A & B;

МожетЯ вычисляю C, используя только сложение, вычитание и двоичное дополнение (+, -, ~)?

Почему я задаю этот вопрос.У меня есть ограничение оптимизации, которое утверждает, что данные множества X, Y и Z, если X пересекает Y, не пусто, а Y не пересекается, Z не пусто, то пересечение X и Y равно пересечению Y и Z. Я хочу написать это ограничениев формате, который можно использовать в целочисленной программе.Моя идея состоит в том, что, если я представляю каждый набор как двоичное значение (каждый бит представляет, присутствует ли элемент в наборе), я могу повторить все необходимые операции набора.Тем не менее, для этого мне нужно иметь возможность представить операцию и (которая будет представлять пересечение двух множеств), используя только сложение, вычитание и дополнение к одному.

...