Décalage binaire à gauche (<<)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

L'opérateur de décalage binaire à gauche (<<) décale la séquence de bits représentée par le premier opérande d'autant de bits vers la gauche que le nombre indiqué par le second opérande. Les bits en excès à gauche sont écartés et des bits à zéro sont introduits à droite.

Exemple interactif

const a = 5; // 00000000000000000000000000000101
const b = 2; // 00000000000000000000000000000010

console.log(a << b); // 00000000000000000000000000010100
// Expected output: 20

Syntaxe

js
a << b;

Description

Cet opérateur décale les bits du premier opérande vers la gauche, d'autant que le nombre indiqué par le second opérande. Les bits qui dépassent à gauche sont abandonnés et des zéros sont introduits à droite.

Ainsi, 9 << 2 donnera la valeur 36 (en base 10) :

js
       9 (base 10): 00000000000000000000000000001001 (base 2)
                    --------------------------------
  9 << 2 (base 10): 00000000000000000000000000100100 (base 2) = 36 (base 10)

Le décalage binaire de tout nombre x de y bits vers la gauche donnera comme résultat x * 2 ** y. Par exemple, 9 << 3 pourra être reformulé en 9 * (2 ** 3) = 9 * (8) = 72.

Exemples

Utiliser le décalage binaire à gauche

js
9 << 3; // 72

// 9 * (2 ** 3) = 9 * (8) = 72

Spécifications

Specification
ECMAScript® 2025 Language Specification
# sec-left-shift-operator

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Bitwise left shift (a << b)

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi