日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java中平方运算符,java中的“”、“|”和“^”、“~”运算符

發布時間:2024/1/18 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中平方运算符,java中的“”、“|”和“^”、“~”运算符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天在項目中看到一個兩個變量互換值的寫法,感覺很奇怪,代碼是這樣的:

int a = 3;

int b = 2;

a ^= b;

b ^= a;

a ^= b;

于是到網上查閱了相關資料,并寫了自己的測試代碼,同時對“&”,"|","^"運算符做了一些總結:

這幾個運算符都涉及到二進制間的邏輯運算,為了便于理解,在二進制里,我們可以把1當做邏輯true,把0當做邏輯false。

測試代碼如下:

package test;

public class Test {

public static void main(String[] args) {

int a = 3;

int b = 2;

test1(a, b);

test2(a, b);

test3(a, b);

test4(a);

}

public static void test1(int a, int b) {

System.out.println("a & b = " + (a & b));

}

public static void test2(int a, int b) {

System.out.println("a | b = " + (a | b));

}

public static void test3(int a, int b) {

System.out.println("a ^ b = " + (a ^ b));

}

public static void test4(int a){

System.out.println("~a = " + (~a));

}

}

1、“&”按位與運算符:

運算規則:參與運算的數字,低位對齊,高位不足的補零,對應的二進制位都為1,則運算結果為1,否則為0,因為任何數與0都得0。

例子中的計算過程:

3的二進制形式為0000 0000 0000 0000 0000 0000 0000 0011

2的二進制形式為0000 0000 0000 0000 0000 0000 0000 0010

按位進行與運算,結果為0000 0000 0000 0000 0000 0000 0000 0010

這個數字轉換為十進制就是數字2.

2、“|”按位或運算符:

運算規則:參與運算的數字,低位對齊,高位不足的補零,對應的二進制位有一個為1則為1,否則為0,1和任何數或運算都是1。

例子中的計算過程:

3的二進制形式為0000 0000 0000 0000 0000 0000 0000 0011

2的二進制形式為0000 0000 0000 0000 0000 0000 0000 0010

按位進行或運算,結果為0000 0000 0000 0000 0000 0000 0000 0011

這個數字轉換為十進制就是數字3.

3、“^”按位異或運算符:

運算規則:參與運算的數字,低位對齊,高位不足的補零,對應的二進制位相同為零,不相同為1。

例子中的計算過程:3的二進制形式為0000 0000 0000 0000 0000 0000 0000 0011

2的二進制形式為0000 0000 0000 0000 0000 0000 0000 0010

按位進行或運算,結果為0000 0000 0000 0000 0000 0000 0000 0001

這個數字轉換為十進制就是數字1.

4、“~”按位非運算:

按位非也叫做補,其實就是對二進制 先取反,再取反+1并添加上符號,就可以得到結果。

運算規則:只操作一個數字,將該數字中為1的位變成0,為0的位變成1。

適用場合:反轉數字的內容

例子中的計算過程:

3的二進制形式為0000 0000 0000 0000 0000 0000 0000 0011????? 取反后:1111 1111 1111 1111 1111 1111 1111 1100

由于取反后得到的是一個負數的存貯形式,而負數時以補碼的形式存貯,所以補碼取反加1,轉為十進制,再添加上符號就得到十進制形式的值。

即:

取反加1后的結果:0000 0000 0000 0000 0000 0000 0000 0011 + 1 =? 0000 0000 0000 0000 0000 0000 0000 0100

轉為成十進制并添加上符號,即最后的結果為:-4

所以,例子程序中最后的執行結果為:

a & b = 2

a | b = 3

a ^ b = 1

~a = -4

總結

以上是生活随笔為你收集整理的java中平方运算符,java中的“”、“|”和“^”、“~”运算符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。