有關異或符號 在c 程式設計中的應用

2021-08-07 12:07:33 字數 840 閱讀 1345

異或門符號'^',在程式設計中的使用,有的時候能夠讓你的程式更加精煉簡捷,

尤其在c++的acm程式應用中,可以避免許多麻煩!!!它的幾個簡單作用

講解如下:

它的簡單規則是相同為0,不同為1,例如

int a=3=011(2進製,在計算機中的儲存形式);

int b=6=110(2進製,在計算機中的儲存形式);

int c=a^b=101=5;

切忌,在異或門的計算中都是應用的2進製!!

任何數和0異或都等於它本身;兩個相同的數異或後的結果是0;

1)實現兩個數的交換

a=a^b;   

b=a^b;//b=a^b^b=a^0=a;   

a=a^b;//a=a^a^b=0^b=b;

應用例子如下:

#include

using namespace std;

int main()

2在一排數中找到獨一無二的乙個數

例子如下:

他的思路是;

只要有相同的數那麼他們異或後的結果就是0,最後就剩下0和那個獨一無二的數相異或,就等於

那個獨一無二的數了!!哈哈!!例子,如下:

#include

using namespace std;

int main()

printf("%d\n",x);            

}return 0;

}隨便輸入幾個數,找到其中沒有和他相同的那個數!!哈!

3)判斷兩個數是否相等

if(a^b==0)

printf("a=b");

else 

printf("a!=b");

有關異或符號 在c 程式設計中的應用的講解!!!

異或門符號 在程式設計中的使用,有的時候能夠讓你的程式更加精煉簡捷,尤其在c 的acm程式應用中,可以避免許多麻煩!它的幾個簡單作用 講解如下 它的簡單規則是相同為0,不同為1,例如 int a 3 011 2進製,在計算機中的儲存形式 int b 6 110 2進製,在計算機中的儲存形式 int ...

異或運算在程式設計中的應用

1.只出現一次的數字 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。說明 你的演算法應該具有線性時間複雜度。你可以不使用額外空間來實現嗎?示例 1 輸入 2,2,1 輸出 1 示例 2 輸入 4,1,2,1,2 輸出 4 題目 2.缺失數字 給...

異或運算 與演算法中的應用

異或運算可以理解為是無進製相加!int a 3 int b 10 a a b b a b a a b 注意 使用此方法必須保證要有兩個空間,以下的例子為讓arr 0 變為零 public static void main string args swap arr,0,0 結果為,因為交換需要兩個空間...