User Guide

>> (bitwise right shift) 87
>> (bitwise right shift)
Availability
Flash Player 5.
Usage
expression1 >> expression2
Parameters
expression1
A number or expression to be shifted right.
expression2 A number or expression that converts to an integer from 0 to 31.
Returns
A 32-bit integer.
Description
Operator (bitwise); converts expression1 and expression2 to 32-bit integers, and shifts all the
bits in
expression1 to the right by the number of places specified by the integer that results from
the conversion of
expression2. Bits that are shifted off the right end are discarded. To preserve
the sign of the original
expression, the bits on the left are filled in with 0 if the most significant
bit (the bit farthest to the left) of
expression1 is 0, and filled in with 1 if the most significant
bit is 1. Shifting a value right by one position is the equivalent of dividing by 2 and discarding
the remainder.
Floating-point numbers are converted to integers by discarding any digits after the decimal point.
Positive integers are converted to an unsigned hex value with a maximum value of 4294967295 or
0xFFFFFFFF; values larger than the maximum have their most significant digits discarded when
they are converted so the value is still 32-bit. Negative numbers are converted to an unsigned hex
value via the twos complement notation, with the minimum being -2147483648 or
0x800000000; numbers less than the minimum are converted to twos complement with greater
precision and also have the most significant digits discarded.
The return value is interpreted as a twos complement number with sign, so the return value will
be an integer in the range -2147483648 to 2147483647.
For more information, see “Operator precedence and associativity” in Using ActionScript in Flash.
Example
The following example converts 65535 to a 32-bit integer and shifts it 8 bits to the right:
var x:Number = 65535 >> 8;
trace(x); // outputs 255
The following example shows the result of the previous example:
var x:Number = 255
This is because 65535 decimal equals 1111111111111111 binary (sixteen 1’s),
1111111111111111 binary shifted right by 8 bits is 11111111 binary, and 11111111 binary is
255 decimal. The most significant bit is 0 because the integers are 32-bit, so the fill bit is 0.