Поиск оператора для трех различных значений с помощью побитовых операцийC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Поиск оператора для трех различных значений с помощью побитовых операций

Сообщение Anonymous »

Рассмотрим набор {A,B,C} и оператор op, определенные в следующей таблице

Код: Выделить всё

A op A = A
A op B = A
A op C = A
B op A = A
B op B = B
B op C = C
C op A = A
C op B = C
C op C = B
Я хотел бы закодировать A, и C с битовыми значениями, а затем определите оператор op с помощью некоторых побитовых операций. Например, можно установить

Код: Выделить всё

constexpr auto A = 0b001;
constexpr auto B = 0b010;
constexpr auto C = 0b100;
тогда можно (эмпирически) определить оператор по

Код: Выделить всё

auto op (auto x, auto y)  {
return ((x&A) | (y&A)) | (x&B & y&B) | ((x&C & y&C)>>1) | ((x

Подробнее здесь: [url]https://stackoverflow.com/questions/79855874/finding-an-operator-for-3-distinct-values-with-bitwise-operations[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»