Il y a un opérateur appelé exclusif ou dans un opérateur de bit java, qui est représenté par le symbole (^). Les règles de fonctionnement sont: parmi les bits de deux opérandes, le résultat est 0 si le résultat est 1 si les bits de deux opérandes sont les mêmes, et le résultat est 1 si le résultat est différent. Voyons un exemple ci-dessous:
classe publique TestXor {public static void main (String [] args) {int i = 15, j = 2; System.out.println ("i ^ j =" + (i ^ j));}}Le résultat de l'opération est: i ^ j = 13.
L'analyse du programme ci-dessus, la conversion de I = 15 en binaire est 1111, la conversion de J = 2 en binaire est de 0010, et l'obtention de 1101 selon les règles d'opération de XOR, et la convertir en décimal est de 13.
En utilisant cette règle, nous pouvons appliquer de manière flexible certains algorithmes. Par exemple, s'il y a 2k + 1 nombres, et 2k d'entre eux sont les mêmes, vous devez trouver les différents nombres, tels que: 2, 3, 4, 4, 3, 5, 6, 6, 5. Nous pouvons utiliser l'opérateur XOR pour écrire de cette façon:
classe publique testXor {public static void main (String [] args) {int [] array = {2,3,4,4,3,5,6,6,5}; int v = 0; for (int i = 0; i <array.length; i ++) {v ^ = array [i];} system.out.println ("Le résultat est: le nombre qui n'apparaît qu'une seule fois est 2.
Nous utilisons simplement les règles de l'opérateur XOR pour obtenir le principe selon lequel un nombre et 0 sont les XOR ou soi-même, et un nombre et soi-même le XOR ou soi-même.
La méthode de calcul ci-dessus: v = 2 ^ 3 ^ 4 ^ 4 ^ 3 ^ 5 ^ 6 ^ 6 ^ 5;
Selon la loi de l'échange et les règles ci-dessus
Le nombre qui n'apparaît qu'une seule fois peut être sorti (2k des mêmes conditions préalables doivent être respectés)
Résumer
Ce qui précède est tout le contenu de cet article sur l'analyse du code du problème XOR en Java, j'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!