Aller au contenu principal

Qu'est-ce que la fonction BITOUEXCLUSIF ?

Définition
La fonction BITOUEXCLUSIF effectue un OU EXCLUSIF bit à bit entre deux entiers positifs. Elle retourne un entier dont chaque bit vaut 1 si les bits correspondants des deux nombres sont différents, et 0 s'ils sont identiques.

BITOUEXCLUSIF (BITXOR en anglais) te sert quand tu dois chiffrer un identifiant avec une clé secrète, détecter quels bits ont changé entre deux configurations, ou activer et désactiver un drapeau binaire sans toucher aux autres. Elle est réversible : appliquer deux fois la même clé restitue la valeur d'origine, ce qui permet de chiffrer et déchiffrer avec une seule et même formule.

Concrètement, c'est la fonction qu'utilisent les développeurs pour chiffrer des identifiants numériques avec une clé secrète, les ingénieurs système pour détecter quels bits ont changé entre deux configurations, ou les programmeurs pour activer et désactiver des drapeaux binaires sans toucher aux autres bits. Indispensable pour tout travail sur des données binaires dans Excel.

Syntaxe

=BITOUEXCLUSIF(nombre1; nombre2)

Clique sur un argument pour aller à son explication.

Les deux paramètres doivent être des entiers positifs ou nuls, inférieurs à 2^48-1 (soit 281 474 976 710 655). Les nombres décimaux sont tronqués (la partie après la virgule est ignorée).

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction BITOUEXCLUSIF

BITOUEXCLUSIF prend deux arguments, nombre1 et nombre2, tous les deux obligatoires : ce sont les entiers positifs dont tu compares les bits. Comme le XOR est symétrique, tu peux les intervertir sans rien changer au résultat, puisque =BITOUEXCLUSIF(5; 3) et =BITOUEXCLUSIF(3; 5) donnent tous deux 6.

Par contre les deux doivent rester des entiers positifs ou nuls : un décimal sera tronqué avant le calcul, donc pense à arrondir toi-même si la partie après la virgule compte pour toi.

1

nombre1

: le premier nombre sur lequel effectuer l'opération XOR

Il doit être un entier positif ou nul, inférieur à 2^48-1 (environ 281 billions). Excel convertit ce nombre en représentation binaire pour effectuer l'opération bit à bit.

Par exemple, le nombre 5 est représenté en binaire par 101. Chaque bit de cette représentation sera comparé avec le bit correspondant de nombre2.

2

nombre2

: le deuxième nombre pour l'opération XOR

Comme nombre1, il doit être un entier positif ou nul, limité à 2^48-1. L'opération XOR compare chaque bit de nombre1 avec le bit correspondant de nombre2.

Le principe du XOR est simple : si les deux bits sont différents, le résultat est 1. S'ils sont identiques (tous deux 0 ou tous deux 1), le résultat est 0. C'est cette propriété qui rend XOR si utile pour la détection de changements et la cryptographie légère.

Attention : Les nombres décimaux seront tronqués (la partie après la virgule sera ignorée). Utilise ARRONDI ou ENT si tu veux contrôler ce comportement avant de passer le nombre à BITOUEXCLUSIF.

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment chiffrer un identifiant avec une clé grâce à la fonction BITOUEXCLUSIF

Tu prépares un fichier d'identifiants clients à transmettre à un prestataire qui n'a pas besoin de connaître tes vrais numéros. Chaque ligne porte l'ID en clair et la clé partagée avec ce prestataire, et tu veux la colonne chiffrée à envoyer. La fonction BITOUEXCLUSIF brouille chaque identifiant avec la clé, et le destinataire retrouvera l'original en rejouant exactement la même opération.

Les étapes
  1. 1
    Dans une cellule, écris =BITOUEXCLUSIF(.
  2. 2
    En 1er argument : clique sur la cellule de l'identifiant à brouiller, B2. Elle contient 1234, et c'est sur la forme binaire de ce nombre que porte l'opération, bit par bit.
  3. 3
    En 2ᵉ argument : clique sur la cellule de la clé partagée avec le prestataire, C2. Elle contient 9876, et ce sont ses bits qui décident des positions à inverser dans l'identifiant. Personne ne peut revenir à la valeur d'origine sans elle.
  4. 4
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour chiffrer les cinq lignes. La clé se répète à l'identique d'une ligne à l'autre, donc tu peux aussi la saisir une seule fois et la figer en $C$2.
Au final, ta formule devrait ressembler à ça :=BITOUEXCLUSIF(B2; C2)
Explication
La fonction BITOUEXCLUSIF n'allume un bit que là où les deux nombres diffèrent, ce qui brouille l'identifiant 1234 en 8774. Le point fort est que l'opération se rejoue à l'identique : passer 8774 et la clé 9876 à la même fonction redonne 1234. Une seule formule sert donc à l'aller et au retour, sans table de correspondance à maintenir.
Exemple 2

Comment repérer les bits qui ont changé entre deux configurations avec la fonction BITOUEXCLUSIF

Une mise à jour a modifié la configuration de plusieurs machines et tu dois dire ce qui a réellement bougé, pas seulement que la valeur a changé. Tu as l'état avant et l'état après pour chaque machine, tous deux encodés dans un entier. La fonction BITOUEXCLUSIF marque d'un 1 chaque position qui diffère et te donne la carte exacte des bits touchés.

Les étapes
  1. 1
    Dans une cellule, écris =BITOUEXCLUSIF(.
  2. 2
    En 1er argument : clique sur la cellule de la configuration relevée avant la mise à jour, A2. Elle contient 15, et c'est cet état qui sert de point de comparaison.
  3. 3
    En 2ᵉ argument : clique sur la cellule de la configuration relevée après la mise à jour, B2. Elle contient 7. L'ordre des deux arguments n'a aucune importance, puisque la fonction cherche les positions qui diffèrent et non un sens de variation.
  4. 4
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour traiter les cinq lignes. Un résultat de 0 t'indiquerait deux configurations strictement identiques, ce qui n'arrive sur aucune ligne de ce tableau.
Voici la formule que tu obtiens à la fin :=BITOUEXCLUSIF(A2; B2)
Explication
Le résultat n'est pas un écart numérique mais une carte des changements : chaque bit allumé signale une position qui a bougé. Entre 15 (01111) et 7 (00111), seul le bit de valeur 8 a basculé, donc le résultat vaut 8. La ligne 60 vers 58 rend 6, ce qui veut dire que deux bits ont changé d'un coup, alors que l'écart décimal ne valait que 2.
Exemple 3

Comment isoler le bit qui a changé en combinant la fonction BITOUEXCLUSIF et la fonction BITET

Le bit 2 de ce registre commande une fonction critique, et une seule question t'intéresse lors de l'audit : est-ce que la mise à jour y a touché ? Savoir que la configuration a changé ne suffit pas, car les autres bits bougent tout le temps sans conséquence. En filtrant la carte des changements sur ce seul bit, tu obtiens une réponse nette ligne par ligne.

Les étapes
  1. 1
    Dans une cellule, écris =SI(.
  2. 2
    En 1er argument : écris la comparaison qui doit trancher et referme-la, BITET(BITOUEXCLUSIF(A2; B2); 4)=4. La fonction BITOUEXCLUSIF est l'appel le plus intérieur, et son résultat traverse le masque 4 avant d'être comparé. Les deux parenthèses ouvertes ici sont refermées dans la foulée, si bien qu'il ne restera que celle de la fonction SI.
  3. 3
    En 2ᵉ argument : écris le texte à afficher quand la comparaison est vraie, "Oui". Les guillemets sont obligatoires pour qu'Excel affiche le mot tel quel au lieu d'y chercher un nom défini dans le classeur.
  4. 4
    En 3ᵉ argument : écris le texte à afficher quand la comparaison est fausse, "Non". Cette réponse tombe aussi bien quand rien n'a bougé que quand des bits ont bougé ailleurs, comme sur la ligne qui passe de 15 à 7.
  5. 5
    Ferme la parenthèse de la fonction SI et appuie sur Entrée. Celles de la fonction BITET et de la fonction BITOUEXCLUSIF ont déjà été refermées dans le premier argument.
Une fois les morceaux assemblés, ta formule donne ça :=SI(BITET(BITOUEXCLUSIF(A2; B2); 4)=4; "Oui"; "Non")
Explication
L'appel intérieur dresse la carte de tout ce qui a bougé, puis le masque 4 ne laisse passer que le bit surveillé. La ligne 60 vers 58 a bien touché ce bit et répond « Oui », alors que 15 vers 7 a changé ailleurs et répond « Non » malgré une modification réelle. C'est la nuance qui compte lors d'un audit ciblé.
Le savais-tu ?
Le XOR est sa propre réciproque : A XOR B XOR B redonne A. C'est pour ça que la même formule =BITOUEXCLUSIF(valeur; clé) chiffre et déchiffre, et qu'appliquer deux fois un masque de toggle rétablit le bit d'origine. Une seule opération pour l'aller et le retour.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction BITOUEXCLUSIF

Trois messages reviennent avec BITOUEXCLUSIF, et chacun pointe une contrainte précise. Le #NOMBRE! signale qu'un argument sort des clous : négatif, ou plus grand que la limite des 48 bits. Le #VALEUR! veut dire qu'une cellule contient du texte ou est vide au lieu d'un nombre. Et le #NOM? n'a rien à voir avec tes données : c'est que ta version d'Excel est antérieure à 2013, qui a introduit cette fonction.

Erreur #NOMBRE! sur un nombre négatif ou trop grand

L'erreur #NOMBRE! apparaît quand un des paramètres est négatif, décimal dans certaines versions, ou supérieur à 2^48-1 (281 474 976 710 655). BITOUEXCLUSIF exige des entiers positifs ou nuls dans cette plage.

Solution : Utilise ABS() pour forcer un nombre positif et ENT() pour tronquer les décimaux : =BITOUEXCLUSIF(ABS(ENT(A1)); ABS(ENT(B1))) sécurise les deux paramètres en même temps.

Erreur #VALEUR! sur un paramètre non numérique

Cette erreur survient quand un des paramètres n'est pas un nombre valide : texte, cellule vide, ou résultat d'erreur d'une autre formule. Excel ne peut pas effectuer d'opération binaire sur du texte.

Solution : Protège ta formule avec un test préalable : =SI(ESTNUM(A1)*ESTNUM(B1); BITOUEXCLUSIF(A1;B1); "Données invalides") retourne un message clair si les données sont manquantes ou incorrectes.

Erreur #NOM? : fonction non reconnue

Si Excel affiche #NOM?, c'est que BITOUEXCLUSIF n'est pas disponible dans ta version. Cette fonction existe uniquement à partir d'Excel 2013.

Solution : Mets à jour vers Excel 2013 ou une version ultérieure. Sur des versions encore plus anciennes, tu peux reproduire le comportement XOR avec une formule personnalisée VBA.

Le combo gagnant
Pour savoir non seulement que deux valeurs diffèrent mais lequel des bits a bougé, emboîte les deux fonctions : =BITET(BITOUEXCLUSIF(A1;B1); masque). Le XOR marque tous les bits qui ont changé, puis BITET isole celui qui t'intéresse. Parfait pour auditer une modification de configuration.
FAQ

Questions fréquentes

Le OU exclusif (XOR) est une opération logique bit à bit qui retourne 1 si les bits comparés sont différents, et 0 s'ils sont identiques. Par exemple, 5 XOR 3 donne 6 car en binaire : 101 XOR 011 = 110. Cette opération est très utilisée en cryptographie simple, détection d'erreurs et programmation bas niveau car elle possède une propriété unique : elle est réversible (A XOR B XOR B = A).

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction BITOUEXCLUSIF : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir