>>(按位向右移位)

可用性

Flash Player 5。

用法

expression1 >> expression2

参数

expression1 要向右移位的数字或表达式。

expression2 将转换为 0 到 31 之间整数的数字或表达式。

返回

无。

说明

运算符(按位);将 expression1expression2 转换为 32 位整数,然后将 expression1 中的所有位向右移一定位数,该位数由 expression2 转换而来的整数指定。移到右侧的位被去掉。若要保留原 expression 的符号,则如果 expression1 的最高有效位(最左端的位)为 0,那么左侧的位都填补 0;如果最高有效位为 1,那么左侧的位都填补 1。将一个值右移一位等效于将它除以 2 并去掉余数。

示例

下面的示例将 65535 转换为 32 位整数,然后右移 8 位。

x = 65535 >> 8

上述运算的结果如下所示:

x = 255 

这是因为十进制的 65535 等于二进制的 1111111111111111(16 个 1),二进制的
1111111111111111 向右移 8 位是二进制的 11111111,而二进制的 11111111 是十进制的
255。因为这个整数是 32 位的,最高有效位为 0,所以用 0 来填补位。

下面的示例将 -1 转换为 32 位整数,然后右移 1 位。

x = -1 >> 1

上述运算的结果如下所示:

x = -1 

这是因为十进制的 -1 等于二进制的 11111111111111111111111111111111(32 个 1),向右移一位使得最低有效位(最右侧的位)被去掉而最高有效位被填补上 1。结果为二进制的
11111111111111111111111111111111(32 个 1),表示 32 位整数 -1。

另请参见

>>=(按位向右移位并赋值)