Правий зсув (>>)

Оператор правого зсуву (>>) виконує зсув першого операнда на вказану кількість бітів праворуч. Надлишкові біти, зсунуті праворуч, відкидаються. Біти, додані зліва, заповнюються значенням старшого біта. Оскільки новий старший біт матиме те саме значення, що й попередній старший біт, знаковий (старший) біт не змінюється. Звідси назва оператора "з розширенням знаку".

Синтаксис

a >> b

Опис

Цей оператор виконує зсув першого операнду на вказану кількість бітів праворуч. Надлишкові біти, зсунуті праворуч, відкидаються. Біти, додані зліва, заповнюються значенням старшого біта. Оскільки новий старший біт матиме те саме значення, що й попередній старший біт, знаковий (старший) біт не змінюється. Звідси назва "з розширенням знаку".

Наприклад, 9 >> 2 дорівнює 2:

.    9 (основа 10): 00000000000000000000000000001001 (основа 2)
                  --------------------------------
9 >> 2 (основа 10): 00000000000000000000000000000010 (основа 2) = 2 (base 10)

Аналогічно, -9 >> 2 дорівнює -3, оскільки знак зберігається:

.    -9 (основа 10): 11111111111111111111111111110111 (основа 2)
                   --------------------------------
-9 >> 2 (основа 10): 11111111111111111111111111111101 (основа 2) = -3 (base 10)

Приклади

Використання правого зсуву

 9 >> 2; //  2
-9 >> 2; // -3

Специфікації

Специфікація
ECMAScript (ECMA-262)
The definition of 'Bitwise Shift Operators' in that specification.

Сумісність з веб-переглядачами

BCD tables only load in the browser

Див. також