摘要:在網(wǎng)上看到如何利用異或來實(shí)現(xiàn)兩個(gè)變量的交換,感覺很方便,但是理解起來優(yōu)點(diǎn)難度,做個(gè)筆記,加深理解。首先先對異或有個(gè)了解相同的異或之后則為,不相同的則為。則這個(gè)式子的返回值是與相同與不相同的標(biāo)志。
在網(wǎng)上看到如何利用異或來實(shí)現(xiàn)兩個(gè)變量的交換,感覺很方便,但是理解起來優(yōu)點(diǎn)難度,做個(gè)筆記,加深理解。
首先先對異或有個(gè)了解:
相同的異或之后則為0,不相同的則為1。
a:1000 1010,
b:1000 1101
則a=a^b 這個(gè)式子的返回值是a與b相同與不相同的標(biāo)志。
上面的運(yùn)算結(jié)果是: 0000 0111
再看第二個(gè)式子:
b = a^b 由于此時(shí)的a不是代表原來的a,此時(shí)是標(biāo)志而已,這個(gè)標(biāo)志與b做異或運(yùn)算,若a第i位為0,則新的b的i位則與右邊的(原來的)b,是相同的,而由第一個(gè)式子可知,若第i位為0,則原來的a與原來的b是相同的,由相等的傳遞性可知新得到的b的第i位與原來的a是一致的。
這只是一方面,一個(gè)數(shù)里面肯定有1又有0,當(dāng)?shù)趇位為1的時(shí)候,說明新得到的b的第i位與原來的b的第i位是相反的,同樣的思路,類比的第一個(gè)式子,當(dāng)?shù)趇位為1的時(shí)候,則說明原a與原b在第i位是不同的,此時(shí)對于b來說,敵人的敵人就是我的朋友,所以它也是和原來的b是相同的,這樣,新得到的b就是原來的a了。
上面(第二個(gè))將a的值賦給了b,那么如何將b的值賦值給a呢
使用同樣的式子
a = a^b 注意此時(shí)的a還是代表標(biāo)志位,而此時(shí)的b則代表a了,上面的b與標(biāo)志位相與得到a,則可想而知,a與標(biāo)志位相與則會得到b,很容易理解。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/72423.html
摘要:簡單了解位運(yùn)算簡單了解基礎(chǔ)位運(yùn)算符是在數(shù)字底層表示數(shù)字的個(gè)數(shù)位上進(jìn)行操作的。注意位的位置在最右側(cè)。諾,就是這樣的顯示就是這樣的位運(yùn)算符與兩個(gè)都為結(jié)果才為保持?jǐn)?shù)位對齊,用上述規(guī)則然后進(jìn)行與運(yùn)算。 簡單了解位運(yùn)算 簡單了解基礎(chǔ) 位運(yùn)算符是在數(shù)字底層(表示數(shù)字的32個(gè)數(shù)位)上進(jìn)行操作的。 所有整數(shù)字面量都是有符號整數(shù),用31位表示數(shù)值,用第32位表示符號,0表示正數(shù)1表示負(fù)數(shù)。數(shù)值范圍從-(...
摘要:我會使用一個(gè)先進(jìn)的神經(jīng)網(wǎng)絡(luò)和機(jī)器學(xué)習(xí)框架這個(gè)框架,并向你們展示如何用這個(gè)框架來實(shí)現(xiàn)光學(xué)字符辨識,模擬退火法,遺傳算法和神經(jīng)網(wǎng)絡(luò)。歐氏距離我們從歐氏距離開始談起,歐氏距離是一個(gè)非常簡單的概念,適用于不同的機(jī)器學(xué)習(xí)技術(shù)。 歡迎大家前往云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 下載 heaton-javascript-ml.zip - 45.1 KB 基本介紹 在本文中,你會對如何使用Ja...
摘要:基本數(shù)據(jù)類型布爾類型或,占用位。強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換的語法格式是,強(qiáng)制類型轉(zhuǎn)換的運(yùn)算符是圓括號。無符號右移運(yùn)算符。對于低于類型如和的操作數(shù)總是先自動類型轉(zhuǎn)換為類型后再移位。 注釋 單行注釋//......多行注釋/ .../文檔注釋/*.../ 文檔注釋位于注釋內(nèi)容上一行 標(biāo)識符和關(guān)鍵字 分隔符 分號:作為語句的分隔,每個(gè)Java語句必須使用分號作為結(jié)尾。花括號:定義一個(gè)代碼...
摘要:解釋器的種類的官方版本,使用語言實(shí)現(xiàn),使用最為廣泛,實(shí)現(xiàn)會將源文件文件轉(zhuǎn)換成字節(jié)碼文件文件,然后運(yùn)行在虛擬機(jī)上。與類似特殊實(shí)現(xiàn)的,將的字節(jié)碼字節(jié)碼再編譯成機(jī)器碼。用于跳出當(dāng)前循環(huán),繼續(xù)下一次循環(huán)。 python介紹 python的用途 我們?yōu)槭裁磳W(xué)習(xí)python,python學(xué)會了可以做什么,從一個(gè)例子告訴我們學(xué)習(xí)一門編程語言的好處。如:公雞5文錢一只,母雞3文錢一只,小雞3只一文錢,...
摘要:到目前為止,使用越來越廣泛,不光光只是它強(qiáng)大的生成技術(shù),而且它能夠與進(jìn)行很好的集成。注意使用數(shù)字范圍來定義集合時(shí)無需使用方括號數(shù)字范圍也支持反遞增的數(shù)字范圍如對象對象使用花括號包括中的對之間以英文冒號分隔,多組對之間以英文逗號分隔。 Freemarker的介紹 ??Freemarker 是一款模板引擎,是一種基于模版生成靜態(tài)文件的通用 工具,它是為程序員提供的一個(gè)開發(fā)包,或者說是一個(gè)類...
閱讀 2807·2021-11-22 14:44
閱讀 548·2021-11-22 12:00
閱讀 3689·2019-08-30 15:54
閱讀 1580·2019-08-29 17:15
閱讀 1906·2019-08-29 13:50
閱讀 1116·2019-08-29 13:17
閱讀 3522·2019-08-29 13:05
閱讀 1186·2019-08-29 11:31