天天看點

java位運算求幂,Java的位運算符詳解執行個體——與(&)、非(~)、或(|)、異或(^)...

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

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.非運算符

非運算符用符号“~”表示,其運算規律如下:

如果位為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。