Question

Comment puis-je obtenir a de b et c? Quelle serait l'opération inverse?

Voici le 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);
    }
}
Était-ce utile?

La solution

Vous ne pouvez pas. Si un bit c est 0 et le bit correspondant dans b est 0, il est impossible de savoir si le bit correspondant à a était 0 ou 1. Par un argument similaire, opérateur OR (l'opérateur |) est irréversible. D'autre part, XOR (opérateur de ^) réversible.

Autres conseils

Si vous regardez la table de vérité de l'opération de and logique, vous pouvez voir qu'il contient trois faux et un vrai. Par conséquent, il ne peut pas être inversée.

Seuls equals et xor ont des tables de vérité équilibrées, et ils sont les deux opérateurs booléens réversibles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top