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);
    }
}
War es hilfreich?

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
scroll top