Предположим, у меня есть две двоичные переменные A и B (размер хранилища не ограничен, я всегда могу увеличить размер для этой задачи).
C рассчитывается следующим образом
C = A & B;
МожетЯ вычисляю C, используя только сложение, вычитание и двоичное дополнение (+, -, ~)?
Почему я задаю этот вопрос.У меня есть ограничение оптимизации, которое утверждает, что данные множества X, Y и Z, если X пересекает Y, не пусто, а Y не пересекается, Z не пусто, то пересечение X и Y равно пересечению Y и Z. Я хочу написать это ограничениев формате, который можно использовать в целочисленной программе.Моя идея состоит в том, что, если я представляю каждый набор как двоичное значение (каждый бит представляет, присутствует ли элемент в наборе), я могу повторить все необходимые операции набора.Тем не менее, для этого мне нужно иметь возможность представить операцию и (которая будет представлять пересечение двух множеств), используя только сложение, вычитание и дополнение к одному.