




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
20個(gè)位運(yùn)算技巧一提起位運(yùn)算,人們往往想到它的高效性,無(wú)論是嵌入式編程還是優(yōu)化系統(tǒng)的核心代碼,適當(dāng)?shù)倪\(yùn)用位運(yùn)算總是一種迷人的手段,或者當(dāng)您求職的時(shí)候,在代碼中寫(xiě)入適當(dāng)?shù)奈贿\(yùn)算也會(huì)讓您的程序增加一絲亮點(diǎn),最初當(dāng)我讀《編程之美》求“1的數(shù)目”時(shí),我才開(kāi)始覺(jué)得位運(yùn)算是如此之美,后來(lái)讀到《Hacker'sDelight》,感慨到HenryS.Warren把位運(yùn)算運(yùn)用的如此神出鬼沒(méi),很多程序都十分精妙,我覺(jué)得在一個(gè)普通的程序中大量運(yùn)用這樣的代碼的人簡(jiǎn)直是瘋了!但掌握簡(jiǎn)單的位運(yùn)算技巧還是必要的,所以今天寫(xiě)這篇博文把我積累的一些位運(yùn)算技巧分享給大家,這些技巧不會(huì)是如求“1的數(shù)目”的技巧,是最基本的一行位運(yùn)算技巧!1.獲得int型最大值[cpp]viewplaincopyintgetMaxInt(){return(1<<31)-1;//2147483647,由于優(yōu)先級(jí)關(guān)系,括號(hào)不可省略}另一種寫(xiě)法[cpp]viewplaincopyintgetMaxInt(){return~(1<<31);//2147483647}另一種寫(xiě)法[cpp]viewplaincopyintgetMaxInt(){//有些編譯器不適用return(1<<-1)-1;//2147483647}C語(yǔ)言中不知道int占幾個(gè)字節(jié)時(shí)候[java]viewplaincopyintgetMaxInt(){return((unsignedint)-1)>>1;//2147483647}2.獲得int型最小值[cpp]viewplaincopyintgetMinInt(){return1<<31;//-2147483648}另一種寫(xiě)法[cpp]viewplaincopyintgetMinInt(){//有些編譯器不適用return1<<-1;//-2147483648}3.獲得long類型的最大值C語(yǔ)言版[cpp]viewplaincopylonggetMaxLong(){return((unsignedlong)-1)>>1;//2147483647}JA哨VA杏版[j總av真a]衛(wèi)v牢ie考w亞pl咬ai津nc踐op擺ylo睬ng霸g電et濕Ma綠xL訪on終g(視){re栗tu鑄rn丙(償(l叛on鮮g)硬1繡<<腐1鍛27攜)沈-抬1;皮//奸92雞23揀37結(jié)20路36撐85脂47秒75遭80奪7}獲得戀lo佳ng歉最小剩值,縮慧和其俱他類鍛型的嫂最大畏值,飼最小友值同幣理.4.殖乘以慨2運(yùn)翁算[c部pp鏟]盲vi夾ew棟p字la哭in樹(shù)co宵pyin糖t朵mu搏lT及wo浸(i寧nt狐n福){答//厘計(jì)算奏n*宵2re愉tu健rn憂n鎖<隙<海1;}5.問(wèn)除以朽2運(yùn)沃算[c益pp群]雖vi蒸ew末p壁la爐in發(fā)co衣pyin杠t中di釣vT惡wo道(i善nt神n各){撐//河負(fù)奇淹數(shù)的孟運(yùn)算令不可葬用re卻tu消rn疾n稿>策>倉(cāng)1;嶺//扒除以帽2}6.欄乘以徒2的咐m(xù)次蝴方[c殘pp縣]陵vi增ew短p艙la守in揪co兄pyin滅t途mu丹lT灰wo震Po門(mén)we潤(rùn)r(背in鳳t青n,填in燭t魔m)朵{/忙/計(jì)顛算n筆*(洪2^拆m)re戴tu葉rn核n勞<賞<盈m;}7.腹除以醬2的撓m次占方[c議pp紡]斗vi嚷ew謎p樹(shù)la澇in五co僚pyin皺t隊(duì)di血vT嫌wo傍Po矩we朋r(售in愿t按n,紀(jì)in死t幫m)廈{/鳳/計(jì)籠算n頑/(陪2^蓮m)re哭tu批rn五n喝>艷>滾m;}8.登判斷巴一個(gè)匹數(shù)的餃奇偶喬性[j消av欲a]薦v樸ie尋w礦pl焰ai樸nc滅op購(gòu)ybo胃ol買(mǎi)ea望n民is壘Od權(quán)dN逆um券be膊r(灣in旬t抵n)蛛{re伙tu磨rn現(xiàn)(僑n起&數(shù)1)跟=際=牙1;}9.愚不用冰臨時(shí)指變量夫交換堵兩個(gè)漏數(shù)(畫(huà)面試礙常考洞)C語(yǔ)帥言版[c億pp證]復(fù)vi慰ew硬p糊la索in鏈co奴pyvo痛id服s籮wa舌p(覺(jué)in把t法*a闖,i左nt溫*危b)馳{(*歷a)隨^詢=燈(*絨b)懷^寒=倒(*退a)辰^茶=時(shí)(*娘b)爐;}通用查版(愚一些絮語(yǔ)言詢中得負(fù)分開(kāi)劈燕寫(xiě))[j扔av炮a]場(chǎng)v飯ie茶w浩pl憶ai程nc劉op隨ya彈^=業(yè)b核;b乓^=扇a獵;a喪^=氣b托;10投.取鵝絕對(duì)態(tài)值(脖某些躲機(jī)器妄上,乳效率剖比n訴>0摟?卡n薄:-糊n飼高)[c嗓pp安]串vi暴ew府p脾la監(jiān)in歐co唱pyin乏t盆ab閑s(明in吊t詞n)的{re悄tu籌rn石(從n秩^讀(n須>去>據(jù)31孩))圾-孩(慌n駕>>爹3朽1)決;/*茅n冬>>樓31演取佩得n轎的符晃號(hào),柿若n男為正慌數(shù),黨n>呆>3計(jì)1等從于0刑,若宰n為危負(fù)數(shù)針,n幣>>稱31孔等于憲-1若n廚為正掩數(shù)雅n^忽0=蜘0,掛數(shù)不趕變,掛若n誦為負(fù)洪數(shù)有錄n^檔-1鏟需笛要計(jì)論算n渾和-低1的吊補(bǔ)碼諒,然貢后進(jìn)負(fù)行異績(jī)或運(yùn)簡(jiǎn)算,結(jié)果區(qū)n變暑號(hào)并之且為傭n的嚼絕對(duì)不值減林1,懸再減荒去-訪1就池是絕妥對(duì)值旋*衡/}11絡(luò).取盲兩個(gè)季數(shù)的本最大濾值(躲某些擔(dān)機(jī)器磨上,躁效率鹽比a屋>b恭?揚(yáng)a委:b燥高)通用小版[c禁pp喉]則vi灶ew風(fēng)p予la百in婆co飄pyin共t森ma蹦x(勝in麻t哀a,橫in先t遺b)益{re釘tu勤rn泄b懶&跑(山(a僻-b靠)賭>>階3否1)宜|善a企&穴(妨~(具a-君b)粥>呆>龜31岸);/*終如果侵a>腹=b資,(博a-價(jià)b)喇>>訂31妥為0輩,否諸則為肺-1視*/}C語(yǔ)您言版[c膛pp斥]蔑vi張ew師p行l(wèi)a把in議co除pyin較t統(tǒng)ma欠x(粥in四t浮x,覽in跟t惑y)旋{re情tu宵rn藥x包^勤(脂(x扁^待y識(shí))故&憲-(雕x話<椅y)嚴(yán));/*勇如果輩x<標(biāo)y胳x<脫y返謀回1仿,否餐則返艦回0許,、漁與0剛做與管運(yùn)算病結(jié)果獄為0漫,與揉-1客做與逼運(yùn)算妻結(jié)果最不變旋*/}12扁.取時(shí)兩個(gè)訊數(shù)的咸最小工值(錯(cuò)某些擠機(jī)器晉上,汁效率錄比a宏>b余?營(yíng)b片:a害高)通用楊版[c賞pp鋪]礎(chǔ)vi齡ew姓p瓦la器in取co期pyin鉆t斗mi廉n(逼in褲t派a,紡in泡t易b)政{re暑tu魔rn珍a雞&菜(物(a飲-b罩)梳>>昆3躁1)吸|種b溪&集(躺~(轉(zhuǎn)a-梁b)列>口>軍31呀);/*淘如果岔a>費(fèi)=b政,(宗a-烘b)徐>>價(jià)31控為0冊(cè),否莖則為眨-1駝*/}C語(yǔ)盜言版[c庭pp廁]僑vi絕ew等p附la松in茫co婆pyin六t晝mi誰(shuí)n(劉in譽(yù)t超x,共in社t枕y)座{re校tu瘦rn騰y如^接(灶(x溜^甲y這)貞&少-(壺x咽<美y)菜);/*盡如果飼x<佛y織x<孩y返憑回1晚,否是則返緩回0邪,與0插做與糠運(yùn)算周結(jié)果蔽為0蹄,與魯-1賞做與澆運(yùn)算笑結(jié)果陽(yáng)不變躲*/}13光.判斗斷符嗽號(hào)是臂否相著同[j糖av殲a]桐v逝ie鼻w都pl州ai適nc快op婆ybo誼ol閥ea弱n閃is尤Sa悼me拆Si絨gn螞(i蹲nt衫x怒,寄in洋t切y)行{我//金有0烤的情肝況例根外re把tu孩rn淡(午x患^估y)假>銳=滋0;熔/騰/樣tr知ue諒表斤示朋x和鋸y有蔑相同鏈的符爐號(hào),孕f眼al躬se創(chuàng)表示志x,自y有潛相反褲的符調(diào)號(hào)。}14碰.計(jì)洲算2箭的n指次方[c帖pp理]華vi軍ew纖p抬la摩in袋c(diǎn)o懂pyin繞t撿ge濤tF擦ac招to考ri切al拳of延Tw紅o(殊in諸t運(yùn)n)壤{/悉/n繩>間0re趴tu第rn鞠2州<倒<閱(n方-1諸);向//晝2的鑰n次扁方}15慈.判鮮斷一問(wèn)個(gè)數(shù)骨是不底是2僑的冪[j婆av突a]研v擺ie掛w垮pl和ai半nc勝op應(yīng)ybo紋ol桂ea蜜n
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度茶樓租賃合同茶樓與茶藝培訓(xùn)學(xué)校合作框架協(xié)議
- 二零二五年度在線教育平臺(tái)師資聘用協(xié)議
- 食用菌種植技術(shù)服務(wù)合同
- 英語(yǔ)語(yǔ)法中的定語(yǔ)從句詳解:九年級(jí)英語(yǔ)語(yǔ)法基礎(chǔ)強(qiáng)化教案
- 幼兒園繪本閱讀感悟分享
- 產(chǎn)品分銷(xiāo)銷(xiāo)售服務(wù)條款及目標(biāo)協(xié)定
- 數(shù)據(jù)驅(qū)動(dòng)的環(huán)保產(chǎn)業(yè)發(fā)展戰(zhàn)略協(xié)議
- 提升職場(chǎng)技能與素質(zhì)
- 數(shù)理化習(xí)題集:高三化學(xué)知識(shí)點(diǎn)強(qiáng)化練習(xí)計(jì)劃
- 家電產(chǎn)品渠道經(jīng)銷(xiāo)協(xié)議
- 2025年黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案1套
- 《勞動(dòng)法常識(shí)(第3版)》中職全套教學(xué)課件
- 2025年勞動(dòng)合同延期補(bǔ)充協(xié)議模板
- 2025年日歷表(含農(nóng)歷、節(jié)假日、記事、A4打印版)
- 《反家庭暴力》課件
- 二零二五年度房地產(chǎn)預(yù)售合同協(xié)議4篇
- 2025-2030年中國(guó)天線行業(yè)市場(chǎng)需求狀況規(guī)劃研究報(bào)告
- 2024年南京旅游職業(yè)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 如何提升自我管理能力
- 2025年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】高頻重點(diǎn)提升(共500題)附帶答案詳解
- 人教版(新)九年級(jí)下冊(cè)化學(xué)全冊(cè)教案教學(xué)設(shè)計(jì)及教學(xué)反思
評(píng)論
0/150
提交評(píng)論