js的位操作符

2021-09-05 17:49:00 字數 1178 閱讀 5795

操作符

用法描述

按位與

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。對於非負數,算術右移和邏輯右移結果相同。

特別要注意

邏輯右移和

算術右移的區別

c語言操作符 位操作符 移位操作符

1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...

位運算操作符

與運算,二元操作符,對兩個操作員的每個二進位制位進行與運算,運算規則為 1 1 1 1 0 0 0 1 0 0 0 0 異或運算,二元操作符,對兩個操作員的每個二進位制位進行異或運算,運算規則為 1 1 0 1 0 1 0 1 1 0 0 0 或運算,二元操作符,對兩個操作員的每個二進位制位或運算,...

c 位操作符

我們知道,任何資訊在計算機中都是以二進位制的形式儲存的。位操作符就是對資料按二進位制進行運算的操作符。c 語言中的位操作符有 與 或 異或 取補 左移 右移 其中,取補只有乙個運算元,而其它的位操作符都有兩個運算元。這些運算都不會產生溢位。位操作符的運算元為整型或者是可以轉換為整型的任何其它型別。與...