是否有可能在给定B和C的"A&B = C"中恢复A?

Thu*_* N. 0 c algorithm logic circuit

我想问:有A,BC任何二进制数.获得后C = A & B(&AND运营商),是否有可能恢复ABC

我知道A通过操作将丢失信息.我们可以形成一个类似的功能B <...> C = A,以及它的复杂程度如何?

例如:

A = 0011
B = 1010
C = A & B = 0010

的第2位C1,即第2位AB必须1.但是,其他位缺少要恢复的信息.

先感谢您.

sam*_*gak 8

不,这是不可能的.你可以从AND的真值表中看到这个:

A  B  C (A & B)

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

假设您知道B为0且C为0. A可以是1或0,因此无法从B和C推导出.

  • 不,它不能,因为在B和C为0的情况下,A可以是1或0,因此该表表示缺少*A*的信息.如果B为0,那么无论A的值如何,C都将为0.另一种方式是:AND运算相当于值0和1的乘法表.如果知道A*0 = 0,怎么能你解决了A?不可能. (4认同)

das*_*ght 5

您只能恢复在相应位中A具有1s的位B.对于B具有零的位,它A在相应位置中的位置无关紧要,因为C无论如何位都为零:

A = 1xx0x011x0
B = 1001011101
    ----------
C = 1000001100
Run Code Online (Sandbox Code Playgroud)

A标记的位置x可以是零或一个; 它们中的信息无论如何都会丢失.