1

... " x^=y^=x^=y; " fait ?

2

Ca échange les valeurs de x et y je crois.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

3

oui, et sans utuliser de variable temporaire smile

4

un swap quoi ... heu, on dit un swap ou pas ?

l'équivalent d'une seule instruction ASM dont je ne me souviens plus trop le nom, "exg" ou un truc comme ça. smile échange le contenu de 2 registres.
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

5

On peut dire swap, mais sur M68k il y a une instruction qui porte ce nom et qui n'échange pas vraiment deux registres mais 2 les mots d'un registre.
Donc les programmeurs 68k parlent plutôt d'échange pour ne pas confondre gol
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

6

Ext...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

7

et on peut le faire avec n'importe quelle variable ? 2 char, 2 long, long et short, etc...?

et le compilo le remplace par une seule instruction ? Par EXG donc ?

ca éviterais effectivement des variables temporaires...

8

Non ce n'est pas remplacé par exg.

On peut le faire avec n'importe quelles variables smile
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

9

Mais c'est optimisé en le code le plus simple pour l'échange.
GCC ne gènerera pas de eor pour ça normalement.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

10

un conseil si tu ose mettre sa dans ta source, ta interer a mettre un commentaire, pasque qu'est-ce que c sale !!!

Imagine une source composé que de "hack" comme sa...

Totalement illisible...
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

11

totalement illisible?
une fois que tu connais la syntaxe, tu identifie quand même assez rapidement que c'est un échange...
c'est comme la multiplication par une puisance de 2: c'est plus rapide d'utiliser les décalages de bit
de même avec le reste d'un division: plutot utiliser un &.

je ne vois pas ce qu'il y a de sale la dedans... le compilo va s'arranger pour faire quelque chose de correct et d'optimisé. (du moins à mon avis)

12

C'est pas sale au nivo de la compilation !
C'est sale au nivo du source...


Essaye de lire une source de 15000 lignes qui n'est composé que de "hack" comme sa
meme si tu connait la "méthode" pour faire sa, sa reste sale au nivo du code (pas de la compilation je reprécise)
D'ailleur montre sa a qq'un qui a jamais utilisé cette méthode, il va surement reste bloqué dessus pendant qq temps, donc je reviens sur se que j'ai dit tte :


Si tu utilise sa dans tes sources, COMMENTE !!!


PS :

32 << 2

est plus propre que

x^=y^=x^=y;

dans une source !
Ou alors met sa :

x^=y^=x^=y; /* On echange x et y */

ou :

/* On interverti x et y */
x^=y;
y^=x;
x^=y;
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

13

Ah ok !
je mettrai des commentaires wink
de toute façon j'en met toujours beaucoup : en essayant de mettre des commentaires, souvent je trouve des bugs ou des optimisation à faire...