AND按位运算的数学方程?

e19*_*001 5 c math bitwise-operators

例如,在左移操作中,

5 << 1 = 10

10 << 1 = 20

然后可以建立一个数学方程,

n << 1 = n * 2.

如果存在左移操作的等式,

那么有可能还有一个

AND运算的数学方程?

或任何其他按位运算符?

Var*_*der 4

没有直接的单个操作可以映射到每个按位操作。然而,它们都可以通过迭代方式(或一个很长的公式)进行模拟。

(a & b)
Run Code Online (Sandbox Code Playgroud)

可以通过以下方式完成:

(((a/1 % 2) * (b/1 % 2)) * 1) +
(((a/2 % 2) * (b/2 % 2)) * 2) +
(((a/4 % 2) * (b/4 % 2)) * 4) +
...
(((a/n % 2) * (b/n % 2)) * n)
Run Code Online (Sandbox Code Playgroud)

其中n为2除A和B组成的位数减1。这假设整数除法(余数被丢弃)。