Was ist der umgekehrte Bitgewise und?
Frage
Wie bekomme ich a
aus b
und c
? Was wäre der umgekehrte Betrieb?
Hier ist der Code:
class s
{
public static void main(String ar[])
{
int a = 20;
int b = 5;
int c = 0;
c = (a & b) ;
System.out.println(c);
int d = (c & b);
System.out.println(d);
}
}
Lösung
Du kannst nicht. Wenn ein bisschen in c
ist 0 und das entsprechende Bit in b
ist 0, es ist unmöglich zu wissen, ob das entsprechende Teil in a
war 0 oder 1. durch ein ähnliches Argument, bitweise oder (die |
Betreiber) ist ebenfalls irreversibel. Andererseits bitweise xor (die ^
Operator) ist reversibel.
Andere Tipps
Wenn Sie sich den Wahrheitstisch der Wahrheit ansehen and
Logische Operation sehen Sie, dass es drei Fäller und eine wahre enthält. Deshalb kann es nicht umgekehrt werden.
Nur equals
und xor
Haben Sie ausgeglichene Wahrheitstische und sie sind die beiden reversiblen Booleschen Operatoren.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow