Possibilità di recuperare il valore X dopo l'operatore Bitwise OR

0

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?

    
posta SHdotCom 19.10.2015 - 04:31
fonte

1 risposta

3

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.

    
risposta data 19.10.2015 - 08:34
fonte

Leggi altre domande sui tag