Код: Выделить всё
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
Код: Выделить всё
BКод: Выделить всё
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]
Мобильная версия