题目

解决代码及点评

/*求一个数中,二进制表示方式中1的个数范例算法采用分治思想,通过位操作计算二进制中1的个数
*/#include <iostream>
using namespace std;
int counter(int n)
{n = (n & 0x55555555) + ((n >> 1) &0x55555555); n = (n & 0x33333333) + ((n >> 2) &0x33333333);  // 计算每两位有多少个1n = (n & 0x0f0f0f0f0f) + ((n >> 4) & 0x0f0f0f0f); // 在每两位的基础上计算每四位的1个数n = (n & 0x00ff00ff) + ((n >> 8)) & 0x00ff00ff; // 计算总数n = (n & 0x0000ffff) + ((n >> 16)) & 0x0000ffff; // 计算总数return n;
}int main()
{cout<<counter(0xff);system("pause");return 0;
}

代码下载及其运行

代码下载地址:http://download.csdn.net/detail/yincheng01/6704519

解压密码:c.itcast.cn

下载代码并解压后,用VC2013打开interview.sln,并设置对应的启动项目后,点击运行即可,具体步骤如下:

1)设置启动项目:右键点击解决方案,在弹出菜单中选择“设置启动项目”

2)在下拉框中选择相应项目,项目名和博客编号一致

3)点击“本地Windows调试器”运行

程序运行结果






转载于:https://www.cnblogs.com/niulanshan/p/6175149.html

基于visual Studio2013解决面试题之0410计算二进制中1的个数相关推荐

  1. 基于visual Studio2013解决面试题之0901奇偶站队

     题目 解决代码及点评 /*给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数 解决方法:两边同时遍历,如果遇到左边偶数或者右边基数,则交换 */#include <ios ...

  2. 基于visual Studio2013解决面试题之0403串联字符串

     题目 解决代码及点评 /*有 n个长为 m+1的字符串,如果某个字符串的最后m个字符与某个字符串的前m个字符匹配,则两个字符串可以联接,问这n个字符串最多可以连成一个多长的字符串,如果出现循环 ...

  3. 基于visual Studio2013解决面试题之0804复杂链表

     题目 解决代码及点评 /*复杂链表的拷贝,现在有一个复杂链表,完成一个clone函数拷贝一个链表复杂链表是指struct Node{struct Node* _next;struct Node ...

  4. 基于visual Studio2013解决面试题之0209最大堆排序

     题目 解决代码及点评 /*最大堆是一个数组数据结构,任意一个下标i,它的值大于i*2和i*2+1的值(i从1开始)当这样的堆形成时,最大值在数组最开始的位置.当这样的堆形成后,将第一个元素交换 ...

  5. 基于visual Studio2013解决面试题之1002公共子串

     题目 解决代码及点评 /*求两个字符串的最小公共子串这道题简单的两个字符串遍历即可 */#include <iostream> using namespace std; const ...

  6. 基于visual Studio2013解决面试题之1007鸡蛋和篮子

     题目 解决代码及点评 /*n个鸡蛋放m个篮子,篮子不能为空,有多少种方法 */#include <iostream> using namespace std; const int ...

  7. 基于visual Studio2013解决面试题之0601二叉树深度

     题目 解决代码及点评 /*求二叉树深度 */#include <iostream> #include <stack> using namespace std;templ ...

  8. 基于visual Studio2013解决面试题之0402合并升序链表并去重

     题目 解决代码及点评 /*两个升序链表合并,并要求去掉重复元素 */ #include <iostream> using namespace std;class LinkNode ...

  9. 基于visual Studio2013解决面试题之0802数字最多元素

     题目 解决代码及点评 /*查找数组中超过一半的那个元素方法1:每次删除数组中一对不相同的value,最后剩下都是想通的数字时,就是超过一半的那个元素了方法2:排序后,取中间元素即可 */#in ...

最新文章

  1. Fikker 站长缓存无法缓存用 IIS 做 Web 服务器的 PHP 页面的解决方法
  2. 数据结构与算法 -- 算法
  3. Bug面前程序员的30种反应,戳中你了没
  4. 一款不错的编程字体Source Code Pro
  5. 3d face paper
  6. 如何区分普通感冒流感和新型冠状病毒肺炎?
  7. java kotlin lateinit_15. Kotlin 究竟该不该用 lateinit?
  8. win7系统下Loadrunner不能正常监视windows资源
  9. 在java中班级的表示方法_Java基础班学习笔记(8)
  10. 60秒语音有救了?曝微信测试语音进度条,内部人士一句话打回原形
  11. 设计师必备导航类网站,内有宝藏!
  12. iOS逆向之自动化重签名
  13. php未定义常量破解,如何使PHP未定义的常量注意到错误
  14. 科比职业生涯数据集分析
  15. 鹏城实验室支持建设的OpenI启智社区荣登2021“科创中国”开源创新榜
  16. 如何用photoshop做24色环_如何制作出Ps色环?
  17. 活动回顾 | 大咖云集“开源安全治理模型和工具”线上研讨会
  18. 帝国cms配置php,帝国cms如何安装
  19. 阿里旗下的咸鱼是什么盈利模式?很多人真的不知道!
  20. 周昆 浙江大学计算机学院院长,浙江大学周昆教授来校作学术报告

热门文章

  1. parallels desktop 缺少组件_德国警方扣留光伏组件盗贼
  2. Spring Boot文档阅读笔记-构建Restful风格的WebService客户端
  3. C++ STL stirng的复制比较
  4. C/C++无限关机(提权例子)
  5. python中的fstring的 !r,!a,!s
  6. django 模型blank和null的区别
  7. cron 每月最后一个自然日_日乙前瞻:鹿岛樱花谁能冲击亚冠,浦和红钻能否守住最后一个主场...
  8. 打开d盘由于这台计算机的限制,又出现限制我想打开D盘、E盘,就是打不开,电脑提示:限制本 爱问知识人...
  9. c语言链表常错,C语言链表,哪里错了?
  10. zookeeper安装_【Zookeeper】zookeeper的安装与调试