iOS算法教程之分段截取常數(shù)示例
前言
本文主要給大家介紹了關(guān)于iOS算法之分段截取常數(shù)的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí)價(jià)值,下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。
一、錯(cuò)位分段相加,遞歸合并的過(guò)程
#include intHamming_weight_3(intn ) { n = (n&0x55555555) + ((n>>1)&0x55555555); n = (n&0x33333333) + ((n>>2)&0x33333333); n = (n&0x0f0f0f0f) + ((n>>4)&0x0f0f0f0f); n = (n&0x00ff00ff) + ((n>>8)&0x00ff00ff); n = (n&0x0000ffff) + ((n>>16)&0x0000ffff); returnn; }
intmain() { intn; while(scanf("%d", &n) !=EOF)//讀入整數(shù)和打印1的個(gè)數(shù) { printf("%d \n",Hamming_weight_3( n )); } return0; }
二、細(xì)節(jié)分析:
1.數(shù)字都有什么特點(diǎn):
0x5555……這個(gè)換成二進(jìn)制之后就是0101010101010101……
0x3333……這個(gè)換成二進(jìn)制之后就是0011001100110011……
0x0f0f……...這個(gè)換成二進(jìn)制之后就是0000111100001111……
2.如果把這些二進(jìn)制序列看作一個(gè)循環(huán)的周期序列的話,那么第一個(gè)序列的周期是2,每個(gè)周期是01,第二個(gè)序列的周期是4,每個(gè)周期是0011,第三個(gè)的周期是8,每個(gè)是00001111……
3.這些玩意相與之后的結(jié)果:
整個(gè)數(shù)按照上述的周期被分成了n段,每段里面的前半截都被清零,后半截保留了數(shù)據(jù)。不同在于這些數(shù)分段的長(zhǎng)度是2倍增長(zhǎng)的。于是我們可以姑且命名它們?yōu)椤胺侄谓厝〕?shù)”。
謝謝!!!
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
ios通過(guò)SDWebImage實(shí)現(xiàn)圖片加載時(shí)的漸變效果
本篇文章主要介紹了ios通過(guò)SDWebImage實(shí)現(xiàn)圖片加載時(shí)的漸變效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04iOS適配iPhone XS、 iPhone XS Max and iPhone XR的方法淺析
這篇文章主要給大家介紹了關(guān)于iOS適配iPhone XS、 iPhone XS Max and iPhone XR的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09詳解 swift3.0 可選綁定共用同一塊內(nèi)存空間的實(shí)例
這篇文章主要介紹了詳解 swift3.0 可選綁定共用同一塊內(nèi)存空間的實(shí)例的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-09-09iOS Swift開(kāi)發(fā)之日歷插件開(kāi)發(fā)示例
本篇文章主要介紹了iOS Swift開(kāi)發(fā)之日歷插件開(kāi)發(fā)示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08iOS如何固定UITableView中cell.imageView.image的圖片大小
這篇文章主要給大家介紹了關(guān)于iOS如何固定UITableView中cell.imageView.image圖片大小的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開(kāi)發(fā)者們的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11關(guān)于iOS 11的一些新特性適配實(shí)踐總結(jié)
iOS 11 為整個(gè)生態(tài)系統(tǒng)的 UI 元素帶來(lái)了一種更加大膽、動(dòng)態(tài)的新風(fēng)格。下面這篇文章主要給大家總結(jié)介紹了關(guān)于iOS 11的一些新特性適配實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-11-11IOS 基礎(chǔ)之nil,NULL,NSNULL區(qū)別詳解
這篇文章主要介紹了IOS 基礎(chǔ)之nil,NULL,NSNULL區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04