11
votes

Différence entre Bitwise inclus ou exclusif ou en Java

public class Operators {

    public static void main(String[] args) {        
        int a = 12;

    System.out.println("Bitwise AND:"+(12&12));
    System.out.println("Bitwise inclusive OR:"+(12|12));
    System.out.println("Bitwise exclusive OR:"+(12^12));

    }
}

OUTPUT:

Bitwise AND:12
Bitwise inclusive OR:12
Bitwise exclusive OR:0
I understand first two, but not the third.

0 commentaires

4 Réponses :


20
votes

XOR indique si chaque bit est différent.

1 xor 1 = 0
1 xor 0 = 1
0 xor 1 = 1
0 xor 0 = 0

En d'autres termes "soit mais pas à la fois"

0011 xor 0101 = 0110


0 commentaires

1
votes

exclusif ou ( xor ) est défini comme suit: xxx

c'est-à-dire, il est 0 lorsque deux valeurs sont identiques, 1 s'ils sont différents.

Donc, donné à deux modèles de bits exactement égaux, chaque bit xored évaluera à 0 , comme chaque bit Soit avoir 1 dans les deux positions ou 0 dans les deux positions.


0 commentaires

3
votes

Troisième est une opération XOR (xclusive-ou)

On dit, ou devrait être exclusivement: où similaire sera faux (0) et dissemblable sera vrai (1). p>

SO 12 en binaire serait de 1100 p>

donc, exécutez Bitwise Xor ici: p>

  1 1 0 0
  1 1 0 0
---------
  0 0 0 0
---------


0 commentaires

10
votes

Bitwise Inclusive ou (|) signifie une opération normale ou

Bitwisee exclusif ou (^) signifie Opération XOR


0 commentaires