位運算子小記

2021-10-09 02:00:16 字數 713 閱讀 4067

操作符

描述例子

&如果相對應位都是1,則結果為1,否則為0

(a&b),得到12,即0000 1100

|如果相對應位都是 0,則結果為 0,否則為 1

(a | b)得到61,即 0011 1101

^如果相對應位值相同,則結果為0,否則為1

(a ^ b)得到49,即 0011 0001

〜按位取反運算子翻轉運算元的每一位,即0變成1,1變成0。

(〜a)得到-61,即1100 0011

<

按位左移運算子。左運算元按位左移右運算元指定的位數。

a << 2得到240,即 1111 0000

>> 

按位右移運算子。左運算元按位右移右運算元指定的位數。

a >> 2得到15即 1111

>>> 

按位右移補零操作符。左運算元的值按右運算元指定的位數右移,移動得到的空位以零填充。

a>>>2得到15即0000 1111

package com.cjian.test;

/** * created by cj on 2020/8/11.

*/public class operator

}

輸出結果:

位運算子,「,」逗號運算子,

位運算子有 按位與 按位或 按位異或 按位取反 優先順序從高到低,依次為 按位與運算有兩種典型用法,一是取乙個位串資訊的某幾位,如以下 擷取x的最低7位 x 0177。二是讓某變數保留某幾位,其餘位置0,如以下 讓x只保留最低6位 x x 077。按位或運算的典型用法是將乙個位串資訊的某幾位置為1。...

運算子之位運算子

右移 負數 無符號右移 或 異或 與 非 說明 位運算子都是作用在二進位製上的 比如 n 50 n 1 結果是多少?100 n 2 結果是多少?200 n 5 結果是多少?1600 為什麼會是這樣的呢?運算的邏輯如下 1,n 50 2,n的二進位制是 0011 0010 3,0011 0010 左移...

ECMAScript 運算子 位運算子

位運算子是在數字底層 即表示數字的 32 個數字 進行操作的 重溫整數 ecmascript 整數有兩種型別,即有符號整數 允許用正數和負數 和無符號整數 只允許用正數 在 ecmascript 中,所有整數字面量預設都是有符號整數,這意味著什麼呢?有符號整數使用 31 位表示整數的數值,用第 32...