Оператор беззнакового правого зсуву (>>>
) (правий зсув із заповненням нулями) виконує зсув першого операнду на вказану кількість бітів праворуч. Надлишкові біти, зсунуті праворуч, відкидаються. Біти, додані зліва, заповнюються нулями. Знаковий біт отримує значення 0
, а отже, результат завжди невід'ємний. На відміну від інших бітових операторів, правий зсув із заповненням нулями повертає беззнакове ціле 32-бітне число.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Синтаксис
a >>> b
Опис
Цей оператор виконує зсув першого операнду на вказану кількість бітів праворуч. Надлишкові біти, зсунуті праворуч, відкидаються. Біти, додані зліва, заповнюються нулями. Знаковий біт отримує значення 0
, а отже, результат завжди невід'ємний. На відміну від інших бітових операторів, правий зсув із заповненням нулями повертає беззнакове ціле 32-бітне число.
Для невід'ємних чисел, правий зсув із заповненням нулями та правий зсув з розширенням знаку дають однаковий результат. Наприклад, 9 >>> 2
дорівнює 2, так само, як 9 >> 2
:
. 9 (основа 10): 00000000000000000000000000001001 (основа 2)
--------------------------------
9 >>> 2 (основа 10): 00000000000000000000000000000010 (основа 2) = 2 (основа 10)
Однак, це не одне й те саме для від'ємних чисел. Наприклад, -9 >>> 2
поверне 1073741821, що відрізняється від -9 >> 2
(що дорівнює -3
):
. -9 (основа 10): 11111111111111111111111111110111 (основа 2)
--------------------------------
-9 >>> 2 (основа 10): 00111111111111111111111111111101 (основа 2) = 1073741821 (основа 10)
Приклади
Використання беззнакового правого зсуву
9 >>> 2; // 2
-9 >>> 2; // 1073741821
Специфікації
Специфікація |
---|
ECMAScript (ECMA-262) The definition of 'Bitwise Shift Operators' in that specification. |
Сумісність з веб-переглядачами
BCD tables only load in the browser