本文目錄一覽:
- 1、java中的(或運算,異或運算,與運算)解釋下
- 2、異或的逆運算
- 3、java取反運算符
- 4、JAVA字元串異或
- 5、JAVA中如何對一個字元串里的字元做異或運算,例如,字元串A=cghjhgfgsdyugh;第一步
- 6、java中異或是怎樣算的
java中的(或運算,異或運算,與運算)解釋下
java中或運算、異或運算、與運算的使用實例和解釋如下:
public class Test { public static void main(String[] args) {
// 1、左移( )
// 0000 0000 0000 0000 0000 0000 0000 0101 然後左移2位後,低位補0:
// // 0000 0000 0000 0000 0000 0000 0001 0100 換算成10進位為20 System.out.println(5 2);// 運行結果是20
// 2、右移( ) 高位補符號位
// 0000 0000 0000 0000 0000 0000 0000 0101 然後右移2位,高位補0:
// 0000 0000 0000 0000 0000 0000 0000 0001
System.out.println(5 2);// 運行結果是1
// 3、無符號右移( ) 高位補0
// 例如 -5換算成二進位後為:0101 取反加1為1011
// 1111 1111 1111 1111 1111 1111 1111 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 } }
異或的逆運算
異或的逆運算為同或。
異或也叫半加運算,其運演算法則相當於不帶進位的二進位加法:二進位下用1表示真,0表示假,則異或的運演算法則為:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同為0,異為1),這些法則與加法是相同的,只是不帶進位,所以異或常被認作不進位加法。
異或運算為:F = A’B+AB’ = A⊕B —– 當A、B不同時,F=1; 當 A、B相同時,F=0。
同或運算為 : F = AB+A’B’ = A☉B —– 當A、B相同時,F=1;當A、B不同時,F=0。
因此異或的逆運算為同或。
擴展資料:
異或運算規則
1、a ⊕ a = 0。
2、a ⊕ b = b ⊕ a。
3、a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c。
4、d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c。
5、a ⊕ b ⊕ a = b。
6、若x是二進位數0101,y是二進位數1011,則x⊕y=1110。
參考資料來源:百度百科-異或
參考資料來源:百度百科-同或
java取反運算符
我是這麼理解的,如果按你說的,根據這種情況書上說兩個衣服串相等時是false不等時是true說明!是先起作用的,也就是說先取反後進行比較,因為equals是判斷前後是否相等,所以如果兩個字元串相同,前面取反就是false
JAVA字元串異或
存在按位異或,就是根據數據在內存中的二進位數的存放形式進行異或操作,
但是不存在字元串的異或
如果在內存中的數據:01010101和10101010異或,結果就是11111111,然後再將
11111111轉換成相應的數據輸出結果
注意:Java中沒有字元串的異或、與、或、非操作,不是C語言那樣(除非是你自己定義異或操作)
JAVA中如何對一個字元串里的字元做異或運算,例如,字元串A=cghjhgfgsdyugh;第一步
Java代碼:
public class test{
public static void main(String[] args) {
String source = “cghjhgfgsdyugh”;
int ch = source.charAt(0);
for(int i=1; isource.length(); i++) {
ch ^= source.charAt(i);
}
System.out.printf(“%d : %c\n”, ch, ch);
}
}
運行測試:
28 :
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
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/238874.html