>> (Побитовое смещение вправо)
Синтаксис
expression1 >> expression2
Аргументы
expression1 Число, строка или выражение, которые нужно сместить вправо.
expression2 Число, строка или выражение, конвертируемые в целое число от 0 до 31.
Описание
Побитовый оператор конвертирует expression1 и expression2 в 32-битное целое число и смещает все биты в expression1 вправо на число разрядов, указанное целым числом, результирующим от преобразования expression2. Биты, смещённые вправо, игнорируются. Чтобы сохранить знак изначального expression, биты слева заполняются нулями, если самый значимый бит (самый левый) expression1 будет нулём, или заполняются единицами, если самый значимый бит будет единицей. Смещение значения вправо на одну позицию эквивалентно делению на 2, пренебрегая остатком.
Player
Flash 5 или более поздней версии.
Пример
Этот пример показывает процесс преобразования числа 65535 в 32-битное целое число и смещение этого числа на восемь битов вправо:
x = 65535 >> 8
Результатом вышеописанной операции будет:
x = 255
Результат таков, потому что десятичное число 65535 равно двоичному числу 1111111111111111 (шестнадцать единиц), двоичное число 1111111111111111, смещённое вправо на восемь бит даст нам двоичное число 11111111, а двоичное число 11111111 равняется десятичному числу 255. Самый значимый бит - 0, так как целые числа 32-битные.
Следующий пример показывает процесс преобразования числа -1 в 32-битное целое число и смещение этого числа на один бит вправо:
x = -1 >> 1
Результатом вышеописанной операции будет:
x = -1
Результат таков, потому что десятичное число -1 равно двоичному числу 11111111111111111111111111111111 (тридцать две единицы). Смещение вправо на один бит заставляет игнорировать наименее значимый бит (самый правый), и заполнить единицей наиболее значимый бит (самый левый). Результатом будет двоичное число 11111111111111111111111111111111 (тридцать две единицы), которое представляет собой 32-битное целое число -1.
Смотри также
>>= (bitwise right shift and assignment)