关于Java的一道题:"求二进制数中1的个数"的解法整理

原创 2013年12月04日 22:16:00

package com.accp;

/**
 * 求二进制数中1的个数
 *
 * @author Administrator
 *
 */
public class BinaryConversion {

 /**
  * 解法一 通过相除和判断余数的值的方法计算
  *
  * @param num
  *            传入的数字
  * @return 二进制数1的个数
  */
 public static int CountOne(int num) {
  int counter = 0;
  while (num > 0) {
   if (num % 2 == 1) {
    counter++;
   }
   num = num / 2;
  }

  return counter;
 }

 /**
  * 解法二 位操作
  *
  * @param num
  * @return
  */
 public static int Counttow(int num) {
  int counter = 0;
  while (num > 0) {
   counter += num & 0X01;
   num >>= 1;
  }
  return counter;
 }

 /**
  * 解法三
  *
  * @param num
  * @return
  */
 public static int CountThree(int num) {
  int counter = 0;
  while (num > 0) {
   num = num & (num - 1);
   counter++;
  }
  return counter;
 }

 省略:

 // 解法四:分支操作
 // 解法五:查表法
 /**
  * 测试
  *
  * @param args
  */
 public static void main(String[] args) {

  System.out.println(CountOne(5));// 结果:2
  System.out.println(CountThree(31));// 结果:5
  System.out.println(Counttow(32));// 结果:1
 }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

【C语言】求一个数的二进制中 1 的个数

求一个数的二进制的1的个数
  • LX18792732127
  • LX18792732127
  • 2016年09月19日 11:33
  • 1563

求一个整数中二进制1的个数

题目:求一个整数二进制表示1的个数   第一版: 思路:如果一个整数与1做与运算,结果为1,那么该整数最右边一位是1,否则是0; int NumberOf1(int n) { int c...
  • djb100316878
  • djb100316878
  • 2014年12月18日 08:55
  • 2724

求二进制数中0或1的个数

求二进制数中0或1的个数
  • fuhuixin7497
  • fuhuixin7497
  • 2017年09月20日 09:50
  • 167

快速求二进制中1个数

先放代码 public static int countNum(int n) { int count = 0; while (n != 0) { ...
  • a62321780
  • a62321780
  • 2016年09月19日 22:23
  • 664

C/C++求一个整数的二进制中1的个数

求一个整数的二进制中1的个数 收藏 题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。 分析:这是一道很基本的考查位运算的面...
  • sdujava2011
  • sdujava2011
  • 2014年09月15日 20:36
  • 2808

剑指offer——面试题10输入一个十进制整数,统计其中二进制1的个数

/** * 题目:输入一个十进制整数,统计其中二进制1的个数 * @author 大闲人柴毛毛 */ public class CountBitOne { /** * 这个问题最直观的思路...
  • u010425776
  • u010425776
  • 2016年03月09日 16:42
  • 1848

2.1求二进制数中1的个数.pdf

  • 2011年11月15日 10:48
  • 257KB
  • 下载

编程之美:求二进制中1的个数

编程之美:求二进制中1的个数 http://www.cnblogs.com/biyeymyhjob/archive/2012/08/16/2642309.html 1.问题描述...
  • zkl99999
  • zkl99999
  • 2016年03月21日 15:24
  • 769

快速统计二进制中1的个数(分析篇)

今天做了一道题,发现n&=(n-1)这个式子很好奇,然后试着算了一遍发现它竟然能够快速统计二进制1的个数,特此拿来分享一下。 首先,分析一下该式子,先可以简化为 n=n&(n-1); 我...
  • u013243347
  • u013243347
  • 2016年08月16日 15:12
  • 1417

统计二进制数中“1”的个数(懂二进制)

统计二进制数中“1”的个数(懂二进制)
  • pc201192247
  • pc201192247
  • 2017年03月14日 15:13
  • 303
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Java的一道题:"求二进制数中1的个数"的解法整理
举报原因:
原因补充:

(最多只允许输入30个字)