Décaler à gauche multiplie par deux, décaler à droite divise par deux. Ces raccourcis sont exacts sur les entiers positifs, et il existe deux décalages à droite pour une raison précise.
Objectif
Calculer trois décalages, et retrouver le rang qui correspond à une division donnée.
La différence entre les deux décalages à droite
Le décalage logique fait entrer des zéros par la gauche : la valeur est traitée comme non signée. Le décalage arithmétique recopie le bit de signe : une valeur négative reste négative, et la division par deux reste juste. Choisir le mauvais sur une valeur négative transforme un petit nombre négatif en un très grand nombre positif, ce qui se voit immédiatement à l'exécution, et jamais à la lecture du code.