User Guide
90 Chapter 2: ActionScript Language Reference
>>> (bitwise unsigned 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 between 0 and 31.
Returns
A 32-bit unsigned integer.
Description
Operator (bitwise); the same as the bitwise right shift (>>) operator except that it does not
preserve the sign of the original
expression because the bits on the left are always filled with 0.
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 two’s complement notation, with the minimum being -2147483648 or
0x800000000; numbers less than the minimum are converted to two’s complement with greater
precision and also have the most significant digits discarded.
For more information, see “Operator precedence and associativity” in Using ActionScript in Flash.
Example
The following example converts -1 to a 32-bit integer and shifts it 1 bit to the right:
var x:Number = -1 >>> 1;
trace(x); // output: 2147483647
This is because -1 decimal is 11111111111111111111111111111111 binary (thirty-two 1’s),
and when you shift right (unsigned) by 1 bit, the least significant (rightmost) bit is discarded, and
the most significant (leftmost) bit is filled with a 0. The result is
01111111111111111111111111111111 binary, which represents the 32-bit integer
2147483647.
See also
>>= (bitwise right shift and assignment)