[C++] Operazioni bit a bit
Ciao a tutti,
ho una piccola questione su cui mi sono impantanato, questa mattina non sono molto sveglio...
Ho due variabili $a = 23$ e $b = 15$, ed eseguo la seguente operazione $a & b = 7$.
Ora se io avessi il risultato, ovvero 7, e avessi b, posso ricavarmi a? Sempre con operazioni bit a bit.
Grazie.
ho una piccola questione su cui mi sono impantanato, questa mattina non sono molto sveglio...
Ho due variabili $a = 23$ e $b = 15$, ed eseguo la seguente operazione $a & b = 7$.
Ora se io avessi il risultato, ovvero 7, e avessi b, posso ricavarmi a? Sempre con operazioni bit a bit.
Grazie.
Risposte
Non credo purtroppo :-S. Fatte salve le "Leggi di De Morgan", non sono molte le proprietà delle quali godono gli operatori logici.
Nella fattispecie non credo ci sia la possibilitá di ottenere "b" conoscendo "a" e il risultato delle due variabili poste in and tra loro :-S.
Nella fattispecie non credo ci sia la possibilitá di ottenere "b" conoscendo "a" e il risultato delle due variabili poste in and tra loro :-S.
Se consideriamo l'operazione di and logico nel suo corrispettivo insiemistico il ragionamento è, a mio modesto parere, perfetto.
Sarebbe più appropriato dire: "o elementi diversi dagli altri di $B$", considerato che $C$ contiene solo elementi propri di $B$ (e contemporaneamente di $A$).
"Sergio":
Noti solo uno dei due insiemi, diciamo $B$, e l'intersezione, quanti insiemi possono avere gli elementi di $C sub B$ ed elementi diversi dagli altri di $B$?
Sarebbe più appropriato dire: "o elementi diversi dagli altri di $B$", considerato che $C$ contiene solo elementi propri di $B$ (e contemporaneamente di $A$).
"Sergio":
Se invece volevi dire "tutti gli elementi di $C$ ed eventualmente altri elementi diversi da quelli di $B setminusC$", allora saremmo d'accordo.
Precisamente
