Si c'est de la manipulation binaire : a <<8.
Si c'est de l'arithmétique, a*8.
Quant à a<<=8...
J'ai dû le faire parfois, mais franchement c'est illisible...
J'ai dû le faire parfois, mais franchement c'est illisible...


http://discussions.apple.com/thread.jspa?messageID=5921727#5921727Ximoon (./60) :
Ça dépend dans quel contexte :
Si c'est de la manipulation binaire : a <<8.
Si c'est de l'arithmétique, a*8.
Quant à a<<=8...J'ai dû le faire parfois, mais franchement c'est illisible...
//Multiplie par 8 a <<= 3;


Brunni (./73) :
Perso je fais://Multiplie par 8 a <<= 3;
Ca résoud les problèmes
(même si c'est un peu tiré par les cheveux, je l'avoue)Brunni (./79) :
Parce que x8 n'est pas forcément remplacé par << 3 parce que c'est seulement dans certains cas que ça diffère,
Brunni (./73) :
Perso je fais://Multiplie par 8 a <<= 3;
// Rajoute 1 à a a++;
// Rajoute 1 à a a = a + 1;

(Si on n'a pas ces connaissances de base des Mathématiques, on n'est pas capable de programmer correctement.
)Sasume (./84) :
-> D'où l'intérêt de laisser le compilateur réaliser lui-même les bonnes optimisations (puisque tu te trompes et que ton code est moins lisible)

Brunni (./88) :Tu utilises bien des entiers non signés ? Et avec les bonnes optimisations ?
Si je remplace les & 15 du moteur de collisions de mon Sonic par des % 16 ou pire les >> 4 par des / 16 je peux te jurer qu'il tourne *carrément* moins bien niveau vitesse, même si le résultat est exactement le même visuellement parce que je ne tombe jamais dans les cas limite...![]()
