Z = X ∨ Y
(dove X, Y, Z sono 96bits numeri binari)
Se ho "Z" valore e "Y" valore. Ci sono possibilità di recuperare "X" valore da "Z" ?
Quello che so è che è possibile farlo con l'operatore XOR, ma è lo stesso con l'operatore OR?
Ogni bit nel risultato è il risultato di un'operazione sui bit corrispondenti nei due operandi.
Per XOR:
X ^ Y = Z Y ^ Z = X
0 ^ 0 = 0 0 ^ 0 = 0
0 ^ 1 = 1 --inverse-> 1 ^ 1 = 0
1 ^ 0 = 1 0 ^ 1 = 1
1 ^ 1 = 0 1 ^ 0 = 1
Dato un paio di bit da Y e Z, puoi determinare il valore di quel bit X che deve avere avuto.
Per OR inclusivo:
X | Y = Z Y ¤ Z = X
0 | 0 = 0 0 ¤ 0 = 0
0 | 1 = 1 --inverse-> 1 ¤ 1 = 0
1 | 0 = 1 0 ¤ 1 = 1
1 | 1 = 1 1 ¤ 1 = 1
Possiamo vedere qui che per il caso di Y = 1 Z = 1, X potrebbe essere 0 e 1. Per gli altri due casi, puoi determinare il valore di X.
La risposta è che alcuni dei bit di X possono essere ricostituiti, ma per uno qualsiasi dei casi indeterminati, ti ritroverai con valori indeterminati.
Leggi altre domande sui tag logic