js的位操作符

來源:互聯網
上載者:User
操作符 用法 描述
按位與 a & b 如果兩個運算元對應位都是 1 的話則在該位返回 1。
按位或 a | b 如果兩個運算元對應位都是 0 的話則在該位返回 0。
按位異或 a ^ b 如果兩個運算元對應位只有一個 1 的話則在該位返回 1。
求反 ~ a 反轉運算元的每一位。
左移 a << b 將 a 的二進位形式左移 b 位。右面的空位補零。
算術右移 a >> b 將 a 的二進位形式右移 b 位。忽略被移出的位。
邏輯右移 a >>> b 將 a 的二進位形式右移 b 位。忽略被移出的位,左側補入 0。

二元位操作符

包括&,|,^三種,舉例如下:

15 & 9 結果為 9 (1111 & 1001 = 1001)

 

15 | 9 為 15 (1111 | 1001 = 1111)

 

15 ^ 9 為 6 (1111 ^ 1001 = 0110)

 

移位操作符
移位操作符需要兩個運算元:第一個是要進行移位的數值,第二個指定要對第一個數移位的數目。移位的方向由使用的操作符決定。

移位操作符將把兩個操作符轉換為 32 位整型數值,並返回與左運算元類型相同的結果。

<< (左移)
該操作符將把第一個運算元向左移若干位。移出的位將被忽略。右側空位補零。
例如,9<<2 結果為 36,因為 1001 向左移兩位變成 100100,這是 36。

>> (算術右移)
該操作符將把第一個運算元享有移若干位。移出的位將被忽略。左側的空位補上與原來最左面位相同的值。
例如,9>>2 結果為 2,因為 1001 右移兩位變成 10,這是 2。反之,-9>>2 結果為 -3,因為要考慮到符號位。

>>> (邏輯右移)
該操作符將把第一個運算元享有移若干位。移出的位將被忽略。左側的空位補零。
例如,19>>>2 結果為 4,因為 10011 右移兩位變成 100,這是 4。對於非負數,算術右移和邏輯右移結果相同。

特別要注意 邏輯右移和算術右移的區別

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.