按位向右移位运算符

按位向右移位运算符

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

  浮点数通过舍去小数点后面的所有位来转换为整数。正整数转换为无符号的十六进制值,其最大值为 4294967295 0xFFFFFFFF;转换大于最大值的数时,会舍去最高有效位,因此该值仍保持为 32 位。负数通过 2 的补码标记转换为无符号的十六进制值,其最小值为 -2147483648 0x800000000;小于最小值的数转换为精度更高的 2 的补码,同时也会舍去最高有效位。

  由于返回值解释为带符号的 2 的补码数,因此,返回值将是 -2147483648 2147483647 范围中的一个整数。

  操作数

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

  expression2 : Number - 转换为从 0 31 的整数的数字或表达式。

  返回 Number - 按位运算的结果。

  示例

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

  var x:Number = 65535 >> 8; 
  trace(x); // outputs 255

  下面的示例显示上一示例的结果:

  var x:Number = 255;

  四、>>= 按位向右移位并赋值运算符

  expression1 >>= expression2

  此运算符执行按位向右移位运算,并将内容作为结果存储在 expression1 中。

  下面的两个语句是等效的:

  A >>= B; 
  A = (A >> B);

  可用性:Flash Player 5ActionScript 1.0

  操作数

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

  expression2 : Number - 转换为从 0 31 的整数的数字或表达式。

  返回 Number - 按位运算的结果。

  五、>>> 按位无符号向右移位运算符

  expression1 >>> expression2

  除了不保留原始 expression 的符号外,此运算符与按位向右移位运算符 (>>) 相同,这是因为左侧的位始终用 0 填充。

  浮点数通过舍去小数点后面的所有位来转换为整数。正整数转换为无符号的十六进制值,其最大值为 4294967295 0xFFFFFFFF;转换大于最大值的数时,会舍去最高有效位,因此该值仍保持为 32 位。负数通过 2 的补码标记转换为无符号的十六进制值,其最小值为 -2147483648 0x800000000;小于最小值的数转换为精度更高的 2 的补码,同时也会舍去最高有效位。

  可用性:Flash Player 5ActionScript 1.0

  操作数

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

  expression2 : Number - 转换为从 0 31 的整数的数字或表达式。

  返回 Number - 按位运算的结果。

  示例

  下面的示例将 -1 转换为 32 位整数并向右移 1 位:

  var x:Number = -1 >>> 1; 
  trace(x); // output: 2147483647

  六、>>>= 按位无符号向右移位并赋值运算符

  expression1 >>>= expression2

  执行无符号按位向右移位运算,并将内容作为结果存储在 expression1 中。下面的两个语句是等效的:

  A >>>= B; 
  A = (A >>> B);

  可用性:Flash Player 5ActionScript 1.0

  操作数

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

  expression2 : Number - 转换为从 0 31 的整数的数字或表达式。

  返回

  Number - 按位运算的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值