In computer programming, the term bitwise operation is used to denote the use of boolean operators (and $\wedge$, or $\vee$, exclusive or $\oplus$) on corresponding bits of two numbers. Bits, in this case, refers to the digits of the numbers written in base 2.
For example, with $a = 134 = 10000110_2$ and $b = 93 = 01011101_2$, we have:
$$a \wedge b = 00000100_2 = 4$$ $$a \vee b = 11011111_2 = 223$$ $$a \oplus b = 11011011_2 = 219$$
I am curious if there are any meaningful relationships between these five values? Clearly, $a \wedge b$ is smaller than or equal to both $a$ and $b$, and likewise $a \vee b$ is larger than or equal to both $a$ and $b$. Also, if $a \wedge b$ is odd, then both $a$ and $b$ are odd.
But these are all pretty trivial. One more interesting note is that if $b = a-1$, then $a \wedge b = 0$ iff $a$ is a power of 2, but that is instead a very special case.
Can we do better? I am especially interested in what we can know about the numbers $a$ and $b$ from these three other values, or if there's a way to express $\max(a,b)$ from these numbers or something like that. :)
(Programmers might better recognize the "usual" notations $\&$ for and, $|$ for or, and $\wedge$ for exclusive or).
There is the relationship $(a\wedge b)\oplus (a\vee b) \oplus (a\oplus b)=0$ which holds for all $a$ and $b$.
Or, equivalently, any two of $a\wedge b$, $a\vee b$, and $a\oplus b$ will produce the third upon combining with $\oplus$.