国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS算法教程之分段截取常數示例

2019-10-21 18:42:14
字體:
來源:轉載
供稿:網友

前言

本文主要給大家介紹了關于iOS算法之分段截取常數的相關內容,分享出來供大家參考學習價值,下面話不多說了,來一起看看詳細的介紹吧。

一、錯位分段相加,遞歸合并的過程

#includeintHamming_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)//讀入整數和打印1的個數{printf("%d /n",Hamming_weight_3( n ));}return0;}

二、細節分析:

1.數字都有什么特點:

0x5555……這個換成二進制之后就是0101010101010101……

0x3333……這個換成二進制之后就是0011001100110011……

0x0f0f……...這個換成二進制之后就是0000111100001111……

2.如果把這些二進制序列看作一個循環的周期序列的話,那么第一個序列的周期是2,每個周期是01,第二個序列的周期是4,每個周期是0011,第三個的周期是8,每個是00001111……

3.這些玩意相與之后的結果:

整個數按照上述的周期被分成了n段,每段里面的前半截都被清零,后半截保留了數據。不同在于這些數分段的長度是2倍增長的。于是我們可以姑且命名它們為“分段截取常數”。

謝謝!!!

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湘潭市| 麦盖提县| 潢川县| 西安市| 临泉县| 通河县| 保山市| 左云县| 巴南区| 嘉黎县| 交口县| 米泉市| 吉木乃县| 灵丘县| 同仁县| 安顺市| 宿松县| 饶阳县| 宿迁市| 凭祥市| 阿城市| 八宿县| 齐齐哈尔市| 夏津县| 大宁县| 九龙县| 贡嘎县| 宁南县| 余庆县| 青川县| 永善县| 巴东县| 自治县| 台中市| 三台县| 东阿县| 苍山县| 和政县| 斗六市| 应用必备| 定陶县|