Java的位運算符詳解實例——與(&)、非(~)、或(|)、異或(^)

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

 


1.與運算符
與運算符用符號「&」表示,其使用規律以下:
兩個操做數中位都爲1,結果才爲1,不然結果爲0,例以下面的程序段。
public class data13
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 與的結果是:"+(a&b));
}
}
運行結果
a 和b 與的結果是:128
下面分析這個程序:
「a」的值是129,轉換成二進制就是10000001,而「b」的值是128,轉換成二進制就是10000000。根據與運算符的運算規律,只有兩個位都是1,結果纔是1,能夠知道結果就是10000000,即128。二進制

 


2.或運算符
或運算符用符號「|」表示,其運算規律以下:
兩個位只要有一個爲1,那麼結果就是1,不然就爲0,下面看一個簡單的例子。
public class data14
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 或的結果是:"+(a|b));
}
}
運行結果
a 和b 或的結果是:129
下面分析這個程序段:
a 的值是129,轉換成二進制就是10000001,而b 的值是128,轉換成二進制就是10000000,根據或運算符的運算規律,只有兩個位有一個是1,結果纔是1,能夠知道結果就是10000001,即129。程序

 


3.非運算符
非運算符用符號「~」表示,其運算規律以下:static

若是位爲0,結果是1,若是位爲1,結果是0,下面看一個簡單例子。
public class data15
{
public static void main(String[] args)
{
int a=2;
System.out.println("a 非的結果是:"+(~a));
}
}單例

 


4.異或運算符
異或運算符是用符號「^」表示的,其運算規律是:
兩個操做數的位中,相同則結果爲0,不一樣則結果爲1。下面看一個簡單的例子。
public class data16
{
public static void main(String[] args)
{
int a=15;
int b=2;
System.out.println("a 與 b 異或的結果是:"+(a^b));
}
}
運行結果
a 與 b 異或的結果是:13
分析上面的程序段:a 的值是15,轉換成二進制爲1111,而b 的值是2,轉換成二進制爲0010,根據異或的運算規律,能夠得出其結果爲1101 即13。data

相關文章
相關標籤/搜索