e19*_*001 5 c math bitwise-operators
例如,在左移操作中,
5 << 1 = 10
10 << 1 = 20
然后可以建立一个数学方程,
n << 1 = n * 2.
如果存在左移操作的等式,
那么有可能还有一个
AND运算的数学方程?
或任何其他按位运算符?
没有直接的单个操作可以映射到每个按位操作。然而,它们都可以通过迭代方式(或一个很长的公式)进行模拟。
(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。这假设整数除法(余数被丢弃)。