位運(yùn)算移位運(yùn)算符

2018-06-16 15:19 更新

語法:

ShiftExpression : AdditiveExpression ShiftExpression << AdditiveExpression ShiftExpression >> AdditiveExpression ShiftExpression >>> AdditiveExpression

左移運(yùn)算符

 表示對(duì)左操作數(shù)做右操作數(shù)指定次數(shù)的按位左移操作。

 產(chǎn)生式 ShiftExpression : ShiftExpression << AdditiveExpression 按照下面的過程執(zhí)行 :

  1. 令 lref 為解釋執(zhí)行 ShiftExpression 的結(jié)果 .
  2. 令 lval 為 GetValue(lref).
  3. 令 rref 為解釋執(zhí)行 AdditiveExpression 的結(jié)果 .
  4. 令 rval 為 GetValue(rref).
  5. 令 lnum 為 ToInt32(lval).
  6. 令 rnum 為 ToUint32(rval).
  7. 令 shiftCount 為用掩碼算出 rnum 的最后五個(gè)比特位 , 即計(jì)算 rnum & 0x1F 的結(jié)果。
  8. 返回 lnum 左移 shiftCount 比特位的結(jié)果。結(jié)果是一個(gè)有符號(hào) 32 位整數(shù)。

帶符號(hào)右移運(yùn)算符

 filling bitwise right shift operation on the left operand by the amount specified by the right operand.

 產(chǎn)生式 ShiftExpression : ShiftExpression >> AdditiveExpression 按照下面的過程執(zhí)行 :

  1. 令 lref 為解釋執(zhí)行 ShiftExpression 的結(jié)果 .
  2. 令 lval 為 GetValue(lref).
  3. 令 rref 為解釋執(zhí)行 AdditiveExpression 的結(jié)果 .
  4. 令 rval 為 GetValue(rref).
  5. 令 lnum 為 ToInt32(lval).
  6. 令 rnum 為 ToUint32(rval).
  7. 令 shiftCount 為用掩碼算出 rnum 的最后五個(gè)比特位 , 即計(jì)算 rnum & 0x1F 的結(jié)果。
  8. 返回 lnum 帶符號(hào)擴(kuò)展的右 移 shiftCount 比特位的結(jié)果 . The most significant bit is propagated. 結(jié)果是一個(gè)有符號(hào) 32 位整數(shù)。

無符號(hào)右移運(yùn)算符

 Performs a zero-filling bitwise right shift operation on the left operand by the amount specified by the right operand.

 產(chǎn)生式 ShiftExpression : ShiftExpression >>> AdditiveExpression 按照下面的過程執(zhí)行 :

  1. 令 lref 為解釋執(zhí)行 ShiftExpression 的結(jié)果 .
  2. 令 lval 為 GetValue(lref).
  3. 令 rref 為解釋執(zhí)行 AdditiveExpression 的結(jié)果 .
  4. 令 rval 為 GetValue(rref).
  5. 令 lnum 為 ToUint32(lval).
  6. 令 rnum 為 ToUint32(rval).
  7. 令 shiftCount 為用掩碼算出 rnum 的最后五個(gè)比特位 , 即計(jì)算 rnum & 0x1F 的結(jié)果。
  8. 返回 lnum 做 0 填充右移 shiftCount 比特位的結(jié)果 . 缺少的比特位填 0。 結(jié)果是一個(gè)無符號(hào) 32 位整數(shù) .


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)