異或門符號'^',在程式設計中的使用,有的時候能夠讓你的程式更加精煉簡捷,
尤其在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 結果為,因為交換需要兩個空間...