« Les opérations bit à bit/Les subtilités du XOR » : différence entre les versions
Contenu supprimé Contenu ajouté
Ligne 15 :
</source>
Mais il est possible d'échanger les valeurs de deux registres/variables, sans utiliser de registre/variable temporaire ! Pour cela, il existe différentes méthodes assez
* <math>A = A + B</math> ;▼
* <math>B = A - B</math>; ▼
* <math>A = A - B</math>.▼
Cependant, il y a un risque de débordement au niveau de l'addition. Cette technique utilise de plus des opérations arithmétiques, qui sont plus lentes que les opérations logiques sur de nombreux processeurs.▼
===Stupid XOR trick===
* <math>A = A \oplus B</math> ;
Ligne 105 ⟶ 111 :
Comme on le voit, nos données ont bien étés inversées.
▲* <math>A = A + B</math> ;
▲* <math>B = A - B</math>;
▲* <math>A = A - B</math>.
▲Cependant, il y a un risque de débordement au niveau de l'addition. Cette technique utilise de plus des opérations arithmétiques, qui sont plus lentes que les opérations logiques sur de nombreux processeurs.
{{autocat}}
|