當前位置:首頁 » 編程語言 » java異或

java異或

發布時間: 2022-07-01 23:48:58

『壹』 java怎樣用異或進行

異或運算(^)都以二進制數據為基礎進行的運算。也就是說當代碼中使用到異或運算時,都會先將兩個條件進行轉換,轉換成二進制數據後,再進行運算。異域中同位如果值相同(都是0或者都是1)則為0,不同(一個是0,一個是1)為1。
例如
int a=4;
int b=6;
int c = a^b;//c的值是a和b的異或。值為2.

過程
1、a的值二進制是
0000 0100 //這里去低8位,因為高位都一致。

2、b的值二進制是
0000 0110

3、異或後
0000 0010 //結果是2

『貳』 java異或運算符求詳細過程

int 32位,補碼存儲

inta=51;
intb=-16;
System.out.println("51="+Integer.toBinaryString(a));
System.out.println("-16="+Integer.toBinaryString(b));
intc=a^b;
System.out.println("異或="+Integer.toBinaryString(c));
System.out.println("即="+c);

51 =110011

-16 =

異或 =

原碼為1000。。。111101

即 =-61

『叄』 java中的(或運算,異或運算,與運算)解釋下

java中或運算、異或運算、與運算的使用實例和解釋如下:

publicclassTest{publicstaticvoidmain(String[]args){
//1、左移(<<)
//然後左移2位後,低位補0:
////換算成10進制為20System.out.println(5<<2);//運行結果是20
//2、右移(>>)高位補符號位
//然後右移2位,高位補0:
//
System.out.println(5>>2);//運行結果是1
//3、無符號右移(>>>)高位補0
//例如-5換算成二進制後為:0101取反加1為1011
///
/我們分別對5進行右移3位、-5進行右移3位和無符號右移3位:
System.out.println(5>>3);//結果是0
System.out.println(-5>>3);//結果是-1
System.out.println(-5>>>3);//結果是536870911
//4、位與(&)
//位與:第一個操作數的的第n位於第二個操作數的第n位如果都是1,那麼結果的第n為也為1,否則為0
System.out.println(5&3);//結果為1
System.out.println(4&1);//結果為0
//5、位或(|)
//第一個操作數的的第n位於第二個操作數的第n位只要有一個是1,那麼結果的第n為也為1,否則為0
System.out.println(5|3);//結果為7
//6、位異或(^)
//第一個操作數的的第n位於第二個操作數的第n位相反,那麼結果的第n為也為1,否則為0
System.out.println(5^3);//結果為6
//7、位非(~)//操作數的第n位為1,那麼結果的第n位為0,反之。System.out.println(~5);//結果為-6}}

『肆』 java位異或

第一個圖要表達的是&&的意思,&&是邏輯與,兩邊的條件都是TRUE ,則整個表達式為TRUE。但是計算方向是先左後右,如果左邊表部分已經FALSE,那麼右邊部分不用計算,所以後面那一半 x=6的賦值語句就沒執行。但是&是一個位運算符號,表達式裡面都要計算。
第二個圖,異或就是同位變,1和1異或得0。0和0異或得0,1和0異或得1。A的位可能是1001,某個字可能是1110,異或結果就是0111。那他再異或1001 ,得到1110。所以就是加密解密了。

『伍』 java中異或是怎樣算的

概述

i = 14,異或演算法轉換二進制,同則取0異則取1;

解析

異或是一種基於二進制的位運算,用符號XOR或者^表示,其運演算法則是對運算符兩側數的每一個進制位同值則取0,異值則取1.

簡單理解就是不進位加法,如1+1=0,0+0=0,1+0=1.

For example:

3^5 = 6

轉成二進制後就是 0011 ^ 0101 二號位和三號位都是異值取1 末尾兩個1同值取零,所以3^5 = 0110 = 6

而 i = 50 ,j = 60;

所以:

i 的二進制 = 00110010

j 的二進制 = 00111100

同位相同取0,不同取1所以得出來的值為00001110

i = i ^ j;所以i = 00001110 = 14


拓展內容

異或運算符

性質

1、交換律
2、結合律(即(a^b)^c == a^(b^c))
3、對於任何數x,都有x^x=0,x^0=x
4、自反性 A XOR B XOR B = A xor 0 = A

異或運算最常見於多項式除法,不過它最重要的性質還是自反性:A XOR B XOR B = A,即對給定的數A,用同樣的運算因子(B)作兩次異或運算後仍得到A本身。這是一個神奇的性質,利用這個性質,可以獲得許多有趣的應用。 例如,所有的程序教科書都會向初學者指出,要交換兩個變數的值,必須要引入一個中間變數。但如果使用異或,就可以節約一個變數的存儲空間: 設有A,B兩個變數,存儲的值分別為a,b,則以下三行表達式將互換他們的值 表達式 (值) :
A=A XOR B (a XOR b)
B=B XOR A (b XOR a XOR b = a)
A=A XOR B (a XOR b XOR a = b)

#code:

『陸』 java 異或問題。

int a=1 //1的二進制是00000000 00000000 00000000 00000001 --①
int b=2 //2的二進制是00000000 00000000 00000000 00000010 --②
異或就是有且只有一個為1才為1,所以結果如下
a=a^b //異或結果: 00000000 00000000 00000000 00000011 換成十進制就是3 --③
剩下的b=a^b 就是②和③的二進制異或,結果為④
00000000 00000000 00000000 00000001 結果是1 --④
接著就是a=a^b 就是③和④的異或,結果為很顯然還是2

『柒』 java中6異或3是多少

5。
^異或運算符(當兩個數字不同時為1,其餘為0)6的二進制000001103的二進制00000011所以6^3=00000101答案是5。

『捌』 java中的異或 與或的區別

true || false || false 結果是true
true ^ false ^ false,結果也是true
false || true || false 結果是true
false ^ true ^ false 結果也是true
false || false || true => true
false ^ false ^ true => true
就是說三個條件只有一個為真的時候,他們運算結果是一樣的。
三個條件都是假的情況,運算結果都是false,也相同
但這不表示其他情況也能這樣互換。

熱點內容
編譯編譯有什麼 發布:2025-02-04 08:05:52 瀏覽:732
讓外網訪問內網伺服器 發布:2025-02-04 08:02:20 瀏覽:781
奶塊腳本菜地 發布:2025-02-04 07:46:35 瀏覽:238
條形碼識別源碼 發布:2025-02-04 07:45:55 瀏覽:457
mysql資料庫數據同步 發布:2025-02-04 07:41:07 瀏覽:760
安卓手機下載哪個北斗地圖 發布:2025-02-04 07:35:26 瀏覽:854
查詢伺服器ip地址代碼 發布:2025-02-04 07:08:28 瀏覽:675
python全雙工 發布:2025-02-04 06:57:46 瀏覽:196
c語言動態內存 發布:2025-02-04 06:57:06 瀏覽:78
sql倒序查詢 發布:2025-02-04 06:49:18 瀏覽:196