2016-12-20 44 views
0

我想問一下:用ABC是任何二進制數字。在得到C = A & B&AND運營商)後,是否有可能從BC恢復A在給定B和C的情況下,有沒有可能在「A&B = C」中恢復A?

我知道A的信息會因操作而丟失。我們能否形成像B <...> C = A這樣的功能,以及它的複雜程度如何?

例如:

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

C的第二位爲1,即AB第二位必須爲1。但是,其他位缺少要恢復的信息。

預先感謝您。

+0

'C = A&B'然後'A'永遠不會丟失 - 閱讀關於什麼分配意味着 – artm

+4

不,這是不可能的。 – kaylum

+0

你可以使用''xor'',但''和''和''或''操作具有破壞性。 – Shadow

回答

-1

您無法恢復A,但可以編寫A = (X & ~B)^C。在這裏,X可以是任何東西(並且它給出所有A的)。

當然這隻適用於BC,例如C & ~B == 0

這是一個參數化的解決方案。 python示例

>>> A = 32776466 
>>> B = 89773888 
>>> C = A & B 
>>> C 
22020352 
>>> X = 1234567890 # arbitrary value 
>>> U = (X & ~B)^C 
>>> U 
1238761874 
>>> U & B  # same result as A & B 
22020352 
+0

我被一個不瞭解這個公式的美麗人士所壓倒:( – Gribouillis

+0

或者誰不明白它與這個問題有什麼關係,還有其他的可能性。 – EJP

+0

@EJP這是非常簡單的,一般來說當'C&〜B == 0'時,'A&B == C'方程具有未知的'A'有幾個解,所有這些解的集合可以描述爲'(X&B )^ C'當'X'取所有可能的值時,這裏假設'A,B,C'不是布爾類型,而是C類整數,並且對這些整數執行按位運算,但我認爲這是暗示的 – Gribouillis

8

不,這是不可能的。您可以從真值表看到的和:

A B C (A & B) 

0 0 0 
0 1 0 
1 0 0 
1 1 1 

假設你知道B是0,C爲0。可能是1或0,所以它不能的B推斷和C.

+0

謝謝你的回覆。我知道AND運算符的真值表表明缺少C的信息。您認爲OR,XOR,NAND,...的組合能夠從B和C恢復A嗎? –

+4

不,它不能,因爲在B和C爲0的情況下,A可以是1或0,所以表格表示缺少* A *的信息。如果B是0,那麼無論A的值是多少,C都將爲0。再想一想:AND操作相當於值爲0和1的乘法表。如果知道A * 0 = 0,那麼怎麼能你解決A?不可能。 – samgak

5

只能在B的相應位中恢復1 s的位A。對於B具有零位也無所謂什麼A在相應的位置上,因爲在C位將是零反正:標有x可以是0或1 A

A = 1xx0x011x0 
B = 1001011101 
    ---------- 
C = 1000001100 

位置;其中的信息將會丟失。

+0

謝謝你的回覆。我知道AND運算符的真值表表明缺少C的信息。您認爲OR,XOR,NAND,...的組合能夠從B和C恢復A嗎? –

+0

@ThuanN。信息消失了,沒有隱藏起來。你不能「恢復」它,因爲它不在'x'的位置。這就像試圖從「A * 0」的結果中恢復「A」。 – dasblinkenlight

2

假設你只是說二進制邏輯而不是C變量,那麼沒有。

考慮: a=0111, b=1010因此c=0010

所以,你必須b=1010, c=0010所以現在你怎麼能找到a

c最左邊位是0,在b是1,所以我們知道a它必須是0 在c的第二位是0,在b爲0,所以你不能告訴它是什麼在a(1或0導致0在c

在這一點上,我們已經證明你不能這樣做。

+0

謝謝你的回覆。我知道AND運算符的真值表表明缺少C的信息。您認爲OR,XOR,NAND,...的組合能夠從B和C恢復A嗎? –

+0

如果您有「A&B = C」和「A | B = D」,您能從B C和D?中找出A嗎? – John3136

2

不,因爲沒有獨特的解決方案。無論其他位如何,具有相同位設置爲B的A的任何值都將滿足方程。

+0

謝謝你的回覆。我知道AND運算符的真值表表明缺少C的信息。您認爲OR,XOR,NAND,...的組合能夠從B和C恢復A嗎? –

+0

不,我沒有,因爲我已經說過:沒有獨特的解決方案。你問的是*先驗的*不可能的。你似乎沒有理解這個基本點。 – EJP

1

這是關於方程式的問題。這是不可能的,因爲自由度不是零。這與問a + b = 10 - 什麼是a什麼是b是一樣的?

相關問題