怎樣理解異或_第1頁(yè)
怎樣理解異或_第2頁(yè)
怎樣理解異或_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、怎樣理解異或、異或異或是離散數(shù)學(xué)中邏輯運(yùn)算的一種二元計(jì)算,符號(hào)為,當(dāng)符號(hào)前后的兩者分別為F和T時(shí),結(jié)果才為若兩者都是F,或兩者都是則運(yùn)算結(jié)果為F。即,V1V2結(jié)果FFFFTTTFTTTF兩個(gè)數(shù)字也可以做異或操作,首先需要把兩個(gè)數(shù)字轉(zhuǎn)換為二進(jìn)制,并把每一位的數(shù)字兩兩做如下比較:V1V2結(jié)果000011101110例如35:3的二進(jìn)制為011,5的二進(jìn)制為101,兩者異或的結(jié)果,根據(jù)上面的表格,是110,也就是6。二、如何理解異或我們由前面的內(nèi)容可以得知,異或真正的目的是找不同,即相同的數(shù)字作異或?yàn)椴煌臄?shù)字做異或?yàn)镕。當(dāng)異或?qū)ΧM(jìn)制數(shù)字使用的時(shí)候,它表達(dá)的是數(shù)字每位是否相同;當(dāng)對(duì)十進(jìn)制或其他進(jìn)制

2、的數(shù)字進(jìn)行異或計(jì)算時(shí),得出的結(jié)果代表兩個(gè)數(shù)字相不相同。三、異或的應(yīng)用在了解異或的數(shù)學(xué)背景后,我們來(lái)看一下在編程中異或的應(yīng)用。以Java為例,在Java中,異或操作符為人1)數(shù)值型變量值交換交換和最基礎(chǔ)的寫法是應(yīng)用異或我們可以寫成:我們來(lái)分析一下。a的二進(jìn)制為011,b的二進(jìn)制為101。行數(shù)ab1110101彳夠Wo0b13101011至此,a現(xiàn)在是101,b是011,兩者完成交換。既然我們要交換a和b,那么我們只需要交換它們不相同的位置上的數(shù)字即可。第一次a與b作異或,找到的是a和b位數(shù)不同的地方,并把新的值賦給了a,第二次作異或,a現(xiàn)在的結(jié)果是a和b哪些位數(shù)相同(0)與哪些位數(shù)不同(1)。讓

3、a與b做異或,b的每一位如果遇到一樣的(0),如果這一位是1,就會(huì)是1,如果這一位原本是0,就還是0;如果遇到不一樣的(1),b的這位如果是1,就會(huì)變成0;如果是0,就會(huì)變成1,從而完成了把一樣的留存下來(lái),把不一樣的去相反的操作,也就是把a(bǔ)的初始值賦給了b。之后做相同的操作,把b的值賦給了a,從而完成了交換操作。2)Leetcode:找數(shù)組中不重復(fù)的數(shù)字假設(shè)一個(gè)數(shù)組中有兩兩成對(duì)的數(shù)字,只有一個(gè)數(shù)字是不成對(duì)的,請(qǐng)問(wèn)是哪一個(gè)數(shù)字。例如,1,2,2,3,3,不重復(fù)的數(shù)字是1。因?yàn)閍人b=b人a,所以異或滿足交換律,也就是說(shuō),我們對(duì)整個(gè)數(shù)組做異或,可得,1人2人2人3人3=1人(2人2)人(3人3)=1人0人0=1。實(shí)現(xiàn)代碼如下,totet)et3)Leetcode:找數(shù)組中重復(fù)的數(shù)字假設(shè)一個(gè)數(shù)組中,只有一個(gè)數(shù)字重復(fù)出現(xiàn)了兩次,其余的數(shù)字都只出現(xiàn)了一次,請(qǐng)問(wèn)是哪一個(gè)數(shù)字。例如,1,2,2,3,重復(fù)出現(xiàn)的數(shù)字為2。設(shè)1人2人人k人人1000=A,貝U1人2人人k人k人人1000=1人2人人k人人1000人k=A人k,A人A人k=0人k=k。也就是說(shuō),我們先把1-1000做異或(記為A),再把整個(gè)數(shù)組中

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論