« Les opérations bit à bit/L'échange de deux variables » : différence entre les versions
Contenu supprimé Contenu ajouté
Ligne 58 :
</syntaxhighlight>
Cette technique était utilisée comme optimisation sur les anciens processeurs, sur lesquels les opérations bit à bit étaient plus rapides que les opérations arithmétiques. Mais les processeurs modernes peuvent échanger facilement deux registres très rapidement par simple renommage, en une seule instruction pouvant prendre un seul cycle d'horloge. En conséquence, cette méthode n'est utile que sur les anciens processeurs et les petits microcontrôleurs qui ne possèdent que très peu de registres, dans un objectif d'optimisation certain.
===Fonctionnement du ''trick''===
Le fonctionnement de cette méthode se base sur le fait que <math> ( x \oplus y ) \oplus y = x </math>. Faites les calculs vous-même : <math> ( x \oplus y ) \oplus y = x \oplus ( y \oplus y ) = x \oplus 0 = x</math>. Pour comprendre plus profondément pourquoi cette méthode marche, il suffit de regarder à chaque étape ce que l'on trouve dans A et dans B.
|