日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

异或

發(fā)布時間:2023/12/19 综合教程 36 生活家
生活随笔 收集整理的這篇文章主要介紹了 异或 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  在平常的編程中,很少用到算法(反正我是這樣,只顧著實現(xiàn)業(yè)務(wù)需求了),所以,我的代碼總的來說是毫無價值的。怎么才能讓自己代碼變得有點意思呢,今天給大家介紹個運算符"^",異或運算符。有的時候用點運算符的小技巧,可以讓自己的代碼“蓬蓽生輝”喔!:-D

  首先,我先介紹一下,什么是異或運算符。簡單點來說,異或就是相同為0,不同為1,它是32位二進制數(shù)使用的運算符,我們在實際使用中,計算的時候都是要轉(zhuǎn)換成二進制的。下面,我用一個圖來介紹什么是異或,大家一看就明白了。

  相信大家現(xiàn)在可以明白異或了吧!

  下面我用一個簡單的實例,通過比較,更清楚深入的了解異或。

  題目:請把兩個整數(shù)進行交換。

  在我們初次學習Java的時候,進行兩個數(shù)之間的交換,首先會想到使用臨時變量,于是,方案一就是采用第三方變量實現(xiàn)交換。

1         int a = 10;
2         int b = 20;
3         
4         int temp = a;
5         a = b;
6         b = temp; 

  采用第三方變量實現(xiàn)是最簡單也是最容易理解的,但是能不能不使用第三方變量呢?方案二就是通過數(shù)學上基本運算,實現(xiàn)了交換。

1         int a = 10;
2         int b = 20;
3                 
4         a = a + b; //a=30
5         b = a - b; //b=10
6         a = a - b; //a=20

  這個方法是不是很巧妙呢?但是!它是有缺點的,那就是如果a+b的值超出了int的范圍,就會有數(shù)據(jù)溢出,所以,有沒有更好的方法呢?當然有,異或運算符!下面方案三就是介紹異或運算符的巧妙使用。

1         int a = 10;
2         int b = 20;
3         
4         a = a ^ b;
5         b = a ^ b; //b = a ^ b ^ b = a
6         a = a ^ b; //a = a ^ b ^ a = b

  第三個方法是不是很贊呢!當然,展示給大家的只是很簡單的例子,在實際應(yīng)用中,還是需要仔細加慎重的去選擇的。謝謝。

總結(jié)

以上是生活随笔為你收集整理的异或的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。