Comment utiliser l'opérateur OR exclusif (XOR) dans la programmation de c

XOR est un autre opérateur logique binaire opérateur OU exclusif dans la programmation C, encore. Et pour répondre à votre question la plus pressante, vous prononcez comme XOR “. Zou ” Il est le nom mal parfaite de la mauvaise science-fiction.

L'opération XOR est un peu bizarre, mais elle a son charme. Dans l'opération de XOR, les bits sont comparés les uns aux autres, tout comme le et | opérateurs. Lorsque deux bits sont identiques, XOR tousse un 0. Lorsque les deux bits sont différents, XOR crache un 1. Comme d'habitude, un exemple de programme contribue à expliquer les choses.

L'opérateur langage C XOR est l'accent circonflexe: ^. Vous pouvez le trouver mis en action sur la ligne 14 dans son Exclusive OR.

IL EST EXCLUSIVE OU




#include char * binbin (int n) -int main () {int a, x, Ra = 73 x 170 =-printf ("% 3d n% s", binbin (a), a) -printf (" ^% s% 3d n ", binbin (x), x) = -r un ^ x-printf ("% = 3d n% s ", binbin (r), r) -retour (0) - omble} * binbin (int n) {bin static char [9] -int x-pour (x = 0 XLT; 8 x ++) {bin [x] = n 0x80? '1': '0'-n lt; lt; = 1-} bin [x] = ' 0'-retour (bin) -}

Exercice 1: Tapez le code source à partir Il est exclusif OR dans votre éditeur. Construire et exécuter de voir comment l'opération XOR affecte les valeurs binaires.

Le charmant chose à propos de l'opération XOR est que si vous utilisez la même valeur XOR sur une variable à deux reprises, vous récupérez la valeur d'origine de la variable.

Exercice 2: Modifiez le code source à partir Il est exclusif OR de sorte que le fonctionnement d'un plus XOR a lieu. Insérez ces trois déclarations, après la ligne 15:

printf ("% ^ 3d n% s", binbin (x), x) = -a r ^ x-printf ("% 3d n s =%", binbin (a), a) -

Construire et exécuter. La sortie ressemble à ceci:

 01001001 10101010 170 ^ 73 = 11100011 10101010 227 ^ 170 = 01001001 73

En utilisant la même valeur XOR de 170 tourne la valeur 73 d'abord en 227, puis de nouveau à 73.

Parce que XOR est l'opérateur OU exclusif, certains programmeurs se réfèrent à la norme binaire OU opérateur du inclusive OU opérateur.


» » » » Comment utiliser l'opérateur OR exclusif (XOR) dans la programmation de c