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.