Activité-Paranormale


Red devil Information

Publicité

Rechercher

Développement

Apportez vos talents de codeur !

Développer

Visiteurs

Citations

Random quotation
La confiance, d'accord, mais c'est quand même ce qui fait les cocus.
(Jovette-Alice Bernier)

Événements - 3 juillet

Event Calendrier

Validation

Valid XHTML 1.0 Transitional Valid CSS!

Crystal ballTour de magie

AbductionC# : Permuter deux variables avec l'opérateur

En C#, il existe de multiple manières de permuter deux variables. Une technique méconnue consiste à utiliser l'opérateur XOR.

La plus connue et la plus habituelle de ces méthodes est, bien entendu, d'utiliser une troisième variable :

int a = 3;
int b = 6;
int c = a;

a = b;
b = c;

Pour éviter de créer une troisième variable comme dans l'exemple ci-dessus, il est possible d'utiliser l'opérateur XOR :

int a = 3;
int b = 6;
a = a ^ b; // donne 5
b = a ^ b; // donne 3
a = a ^ b; // donne 6

Explication :

L'opérateur XOR peut se définir par la phrase suivante : Le résultat est VRAI si un et un seul des opérandes A et B est VRAI. Cela donne la table de vérité suivante :

Table de vérité de XOR
A B R = A ⊕ B
0 0 0
0 1 1
1 0 1
1 1 0

En binaire, le chiffre 3 correspond à "0011" et le 6 à "0110". Ainsi l'opération 6 ^ 3 donne 5, c'est-à-dire, en binaire, "0101" puisque :

  • 0 ^ 0 = 0
  • 0 ^ 1 = 1
  • 1 ^ 1 = 0
  • 0 ^ 1 = 1

Si l'on répète cette opération comme dans l'exemple ci-dessus, on obtient la permutation de nos deux variables.



C#


Publicité