使用按位运算符〜和&来使| 操作者

tk4*_*fin 0 c bit-manipulation

我必须解决一个任务,但无法找到答案:
计算x | y仅使用~&
最大允许操作8

编辑:在二进制补码和32位整数表示中.右移是算术性的.

小智 5

通过查看真相表,x | y您将看到:

0 | 0 = 0
0 | 1 = 1
1 | 0 = 1
1 | 1 = 1
Run Code Online (Sandbox Code Playgroud)

x | y将1如果两个xy不是0.您可以将其翻译为~(~x & ~y):

~(~0 & ~0) = ~(1 & 1) = ~1 = 0
~(~0 & ~1) = ~(1 & 0) = ~0 = 1
~(~1 & ~0) = ~(0 & 1) = ~0 = 1
~(~1 & ~1) = ~(0 & 0) = ~0 = 1
Run Code Online (Sandbox Code Playgroud)