-
signification de <<
Bonjour,
Je risque de passer pour un débutant mais pourtant je n'arrive pas a trouver la signification de cette ligne:
sub_local_index = (int) ((i << 2) / width) + ((int) ((j << 2) / height) << 2);
Que signifie le symbole << en java?
Merci d'avance
manu86
-
<< est un opérateur de décalage de bits à gauche
n << 1 (on injecte à droite un bit à 0, et tous les autres bits sont décalés à gauche)
n << 3 (on injecte 3 bits à 0 à droite)
Cela peut servir pour multiplier des nombres.
n << 1 (on multiplie n par 2)
n << 2 (on multiplie n par 4)
n << 3 (on multiplie n par 8)
et ainsi de suite...
-
Tiens d'ailleurs, je me demandais si le compilateur Java s'occupait de faire cette optimisation de code ?
Si je fais
x*2, est ce que cela va être exécuter comme une multiplication "normal" et par conséquent une suite d'opérations, ou une optimisation va être effectuée afin que seul un décalage de bit soit fait ?
-