java字元異或的反運算,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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:13
下一篇 2024-12-12 12:13

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • 英語年齡用連字元號(Hyphenation for English Age)

    英語年齡通常使用連字元號表示,比如 “five-year-old boy”。本文將從多個方面探討英語年齡的連字元使用問題。 一、英語年齡的表達方式 英語中表…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python字元轉列表指南

    Python是一個極為流行的腳本語言,在數據處理、數據分析、人工智慧等領域廣泛應用。在很多場景下需要將字元串轉換為列表,以便於操作和處理,本篇文章將從多個方面對Python字元轉列…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29

發表回復

登錄後才能評論