/**
 * 题目:二进制中1的个数
 * 描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
 * 解决方案: ①如果确定是正数:将这个整数target的二进制与1进行与运算,如果每次结果等于1,那么这个target的二进制最右边就为1,可以定义一个变量count来进行记录二进制中1的个数,
 *    ,并且每次计算完之后对target进行右移运算。 直到target等于0;此时count就是二进制中1的个数。
 *     ②负数:将与target的做与运算的1,进行左移,直到1等于0
 * */

public class One {public static int one(int num) {int count =0;while(num!=0) {if((num & 1) == 1) {count++;}num = num >> 1;}return count;}public static int two(int num ) {int count = 0;int flag = 1;while(flag != 0) {if((num & flag) == 1  ) {count++;}flag = flag << 1;}return count;}public static void main(String[] args) {System.out.println(one(7));System.out.println(two(-7));}
}

转载于:https://www.cnblogs.com/ZeGod/p/9969422.html

算法:二进制中1的个数相关推荐

  1. php统计变量的位数,php实现统计二进制中1的个数算法示例

    本文实例讲述了php实现统计二进制中1的个数算法.分享给大家供大家参考,具体如下: 问题 输入一个十进制整数,输出该数二进制表示中1的个数.其中负数用补码表示. 解决思路 这是个位运算的题目. 解法一 ...

  2. 求栈中元素个数算法_精妙的算法——计算二进制中1的个数

    如何计算二进制中1的个数? 全部遍历一遍? 不--不--这不是最优解-- 下面看一段代码: int bitcount (unsigned int n) {int count=0 ;while (n) ...

  3. 《剑指offer》第十五题(二进制中1的个数)

    // 面试题:二进制中1的个数 // 题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如 // 把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2. #inclu ...

  4. 求二进制中1的个数(编程之美2.1)

    行文脉络 解法一--除法 解法二--移位 解法三--高效移位 解法四--查表 扩展问题--异或后转化为该问题 对于一个字节(8bit)的变量,求其二进制"1"的个数.例如6(二进制 ...

  5. 每列大于0的个数_二进制中1的个数(剑指offer第十四天)

    二进制中1的个数 题目:请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数输出 2. 示例 1: 输 ...

  6. 编程之美2.1 求二进制中1的个数

    最近一段的时间,一直在看编程之美之类的算法书籍,刚开始看编程之美,感觉到难度太大,有时候也不愿意去翻动这本书,不过,经过一段时间的修炼,我也彻底的喜欢上这本书了, 书中的算法涉及到很多方面,树,链表, ...

  7. 第2章 数字之魅——求二进制中1的个数

    求二进制中1的个数 问题描述 对于一个字节(8bit)的变量,求其二进制表示中"1"的个数,要求算法的执行效率尽可能地高. [解法一] 可以举一个八位的二进制例子来进行分析.对于二 ...

  8. 说一说,求一个正整数的二进制中0的个数

    昨天突然看到一个算法题:一个正整数a的二进制中0的个数: 话说这是个老题了,直观的算法就每次右移一位,直到0为止:代码就省略了: 仔细想想有更好的方案么? 就是这个题可以转换成一个正整数~a的二进制中 ...

  9. 计算一个数的二进制中1的个数

    /**计算一个数的二进制中1的个数*/ #include int numberOf1InBinary(const unsigned int a); int numberOf1InBinary_Mask ...

最新文章

  1. linux100day(day3)--常用文本处理命令和vim文本编辑器
  2. java break的用法_Java基础break、continue语句的用法
  3. jsp内置对象--application
  4. C++学习之路(一)
  5. 小程序,一个简单的图像处理
  6. 百度研究院|2020年10大人工智能科技趋势
  7. [解决]WebLogic跨域访问安全问题
  8. Transact-SQL 存储过程(c#调用执行)
  9. mysql 序列 语句_MySQL 序列使用
  10. 好看的php表格样式,HTML5制作表格样式
  11. windows server2003/R2 安装IIS6(asp.net)
  12. 精心收集17套电子课件
  13. 职场领导想逼你走时,他会用哪些奇招逼你走?
  14. OA发展建议有奖调研内容
  15. [NULL @ 000002d5c65b5180] missing picture in access unit
  16. java计算机毕业设计公立医院绩效考核系统源码+mysql数据库+系统+lw文档+部署
  17. Oracle实现US7ASCII到ZHS16GBK数据迁移正常显示中文
  18. 规约——前置条件和后置条件
  19. 腾讯后端面试题python_python技术面试题(十九)--腾讯
  20. 开源GIS教程七:使用GeoWebCache创建切片

热门文章

  1. python装饰器原理-Python函数装饰器原理与用法详解
  2. python九九乘法口诀表-python 99乘法口诀表
  3. 解决git下载出现:Failed to connect to 127.0.0.1 port 1080: Connection refused拒绝连接错误
  4. es中发现结点的角色
  5. DispatcherServlet的启动和初始化
  6. HashMap、TreeMap、Hashable和LinkedHashMap
  7. 题目1104:整除问题
  8. H3C LMI协议标准
  9. Python学习之路--函数
  10. HDU 4652 Dice:期望dp(成环)【错位相减】