当前位置: 首页 > news >正文

云南网站建设选天软出格网站建设

云南网站建设选天软,出格网站建设,thinkphp网站开发教程,mcu嵌入式软件开发题目#xff1a; 实现一个函数#xff0c;输入一个整数#xff0c;输出该数二进制中1的个数。例如把9表示成二进制是1001#xff0c;有2位是1#xff0c;因此如果输入是9#xff0c;该函数输出2 第一种解法#xff08;死循环#xff09; 判断整数二进制表示中最右边…题目 实现一个函数输入一个整数输出该数二进制中1的个数。例如把9表示成二进制是1001有2位是1因此如果输入是9该函数输出2 第一种解法死循环 判断整数二进制表示中最右边的一位是不是1将二进制数右移一位¹直到整个整数变成0为止 代码如下 int NumberOf1(int n) { int count 0; while(n){ if(n 1) count; n n 1; } return count;} 这样很容易造成死循环如果输入是一个负数将负数想右移一位的时候并不是简单的将最高位1移到第二位而是移位后最高位任然回事1因为右移前是一个负数右移后仍要保持是负数一直持续下去数字就会变成0xFFFFFFFF而陷入死循环 第二种解法常规 为了避免死循环可以不移动输入的数字移动一个无符号的变量1 定义一个无符号的临时变量tmp 1将输入的数字与tmp做位与运算判断最低位是不是1将tmp左移一位再次将输入的数字与tmp做位与运算判断次低位是不是1将tmp一直左移直到最高位 代码如下 int NumberOf1(int n){int count 0;unsigned int tmp 1;while (tmp){if (n tmp){count;}tmp tmp 1;}return count;}这样效率相对低一些因为这个循环次数等于整数二进制的位数32位的整数就需要循环32次浪费不必要的时间 第三种解法将以上优缺点进行了融合 为了提高代码的效率可以将整数减1在与之前的原整数进行位与运算 将输入的整数减1再与原整数进行位与运算将运算结果赋给输入的整数一直循环1、2直到这个整数为零 代码如下 int NumberOf2(int n){ int count 0;while (n){n n(n - 1);count;}return count;}这种解法可以有效的避免死循环和效率低例如1101具体实现过程如下 注1、不能用除法来代替移位因为除法的效率比移位运算要低得多应该多用移位来代替除法
http://www.pierceye.com/news/346690/

相关文章:

  • 做网站不赚钱潍坊制作网站的公司
  • 网站城市切换代码手机微信官方网站
  • 福州建设招聘信息网站动漫设计专业哪个学校比较好
  • 网站建设需要哪些准备wordpress调用单页面跳转
  • 小公司使用的网站开发电子商务毕业设计 网站建设
  • 简单的个人网站模板网站建设费记什么科目
  • 中国建设银行宁波分行网站一般网站空间要多大
  • 做简单视频网站自己看廊坊专门做网站
  • 做贸易网站科技型中小企业服务平台登录
  • 网站怎么接广告赚钱net创建网站之后怎么做
  • 做网站如何让盈利wordpress链接样式表
  • 网站建设与管理计划谷歌浏览器官网下载手机版
  • 做请帖的网站上海阳性增多
  • 有回定ip怎么做网站青岛建设集团招聘信息网站
  • 淘宝内部卷网站怎么做智慧团建网站登录忘记密码
  • 网站建设前十名建站系统cms
  • 第三方网站开发的商家厦门广告公司网站建设
  • 网站建设基础条件临猗网站制作
  • 建设博客网站步骤常州网站建设百科
  • 门户网站 管理系统wordpress 微信图标
  • 广元网站建设广元莱芜论坛二手车
  • 山东省建设工程质量监督网站广州软件合作中心
  • 郑州网站建设怎么样通州建设局网站
  • 免费网站建设福州怎么修改网站主页
  • 深圳企业建站设计公司wordpress不显示样式
  • 外贸网站商城广东省建设协会网站
  • 杭州制作企业公司网站wordpress数据库添加用户
  • 主域名进入网站广告标识标牌制作厂家
  • 网站建设基础流程摘要专题网站建设策划
  • 滁州网站建设电话网站建设与网站优化