Décaler 5 de 3 positions à gauche

Décalez 5 de trois positions vers la gauche : le résultat est 40, soit 5 multiplié par 8.

A en binaire
0000 0101
B en binaire
0000 0011
Résultat (A décalé de 3 à gauche)
0010 1000
Résultat en décimal
40
Résultat en hexadécimal
0x28

Le cas en détail

Un décalage à gauche pousse tous les bits vers la gauche et ajoute des zéros à droite. Chaque position multiplie par 2 : trois positions multiplient par 8. 00000101 devient 00101000, soit 40. Les processeurs font cela très vite, bien plus vite qu'une multiplication générale.

À retenir : Attention au débordement : les bits qui sortent à gauche sont perdus. Sur 8 bits, 200 décalé d'une position donne 144, pas 400.

L'exemple chiffré

Valeurs utilisées dans ce cas (des exemples, pas des mesures) :

  • Nombre A : 5
  • Nombre B (ou nombre de positions du décalage) : 3
  • Opération : A décalé à gauche de B positions
  • Largeur du nombre : 8 bits (un octet)
A en binaire
0000 0101
B en binaire
0000 0011
Résultat (A décalé de 3 à gauche)
0010 1000
Résultat en décimal
40
Résultat en hexadécimal
0x28

Modifiez les champs ci-dessus pour adapter le calcul à votre situation : le résultat se met à jour tout de suite.

Comment ça se calcule

Chaque nombre est écrit en binaire sur la largeur choisie. ET donne 1 si les deux bits valent 1 ; OU donne 1 si au moins un bit vaut 1 ; OU exclusif donne 1 si les bits diffèrent ; NON inverse tous les bits de A. Un décalage à gauche de k positions multiplie par 2^k (en perdant les bits qui débordent), un décalage à droite divise par 2^k.

Les résultats sont fournis à titre indicatif, sans valeur de conseil juridique, fiscal ou financier.

Pour aller plus loin