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