位運算基礎知識

2021-08-14 11:54:48 字數 1061 閱讀 2305

位運算子主要針對二進位制,它包括了:「與」、「非」、「或」、「異或」。從表面上看似乎有點像邏輯運算子,但邏輯運算子是針對兩個關係運算子來進行邏輯運算,而位運算子主要針對兩個二進位制數的位進行邏輯運算。下面詳細介紹每個位運算子。

1.與運算子

與運算子用符號「&」表示,其使用規律如下:

兩個運算元中位都為1,結果才為1,否則結果為0,例如下面的程式段。

public class data13 }

執行結果

a 和b 與的結果是:128

下面分析這個程式:

「a」的值是129,轉換成二進位制就是10000001,而「b」的值是128,轉換成二進位制就是10000000。根據與運算子的運算規律,只有兩個位都是1,結果才是1,可以知道結果就是10000000,即128。

2.或運算子

或運算子用符號「|」表示,其運算規律如下:

兩個位只要有乙個為1,那麼結果就是1,否則就為0,下面看乙個簡單的例子。

public class data14 }

執行結果

a 和b 或的結果是:129

下面分析這個程式段:

a 的值是129,轉換成二進位制就是10000001,而b 的值是128,轉換成二進位制就是10000000,根據或運算子的運算規律,只有兩個位有乙個是1,結果才是1,可以知道結果就是10000001,即129。

3.非運算子

非運算子用符號「~」表示,其運算規律如下:

如果位為0,結果是1,如果位為1,結果是0,下面看乙個簡單例子。

public class data15 }

4.異或運算子

異或運算子是用符號「^」表示的,其運算規律是:

兩個運算元的位中,相同則結果為0,不同則結果為1。下面看乙個簡單的例子。

public class data16 }

執行結果

a 與 b 異或的結果是:13

分析上面的程式段:a 的值是15,轉換成二進位制為1111,而b 的值是2,轉換成二進位制為0010,根據異或的運算規律,可以得出其結果為1101 即13。

**。

位運算的基礎知識

位運算常見符號 我只會這麼多 舉例均為二進位制 與運算子 兩位同時為 1 結果才為 1 否則為0 例 1 0 0 0 0 0 1 1 1 110 111 110 或運算子 參加運算的兩個物件只要有乙個為1,其值為1 例 1 1 1 1 0 1 0 0 0 110 111 111 異或 同為0,異為1...

位運算的基礎知識整理

按位與 如果兩個相應的二進位制位都為1,則結果為1,否則結果為0。按位或 兩個相應的二進位制位中只要有乙個為1,則結果為1,否則結果為0。按位異或 若參加運算的兩個二進位制位值相同,則結果為0,否則結果為1。取反 對乙個二進位制數按位取反,即將0變為1,將1變為0。左移 用來將乙個數的各二進位制位全...

java基礎知識之位運算子

位運算子除按位與和按位或運算子外,其他只能用於處理整數的運算元,位運算是完全針對位方面的操作。整型資料在記憶體中以二進位制的形式表示,如int型變數7的二進位制表示是00000000 00000000 00000000 00000111。左邊最高位是符號位,最高位是0表示整數,若為1則表示負數,負數...