如何计算一个2进制数中有多少个“1”

原创 2004年10月10日 00:20:00

int CountOne(DWORD udwNumber)
{
    int iCount = 0;

    for (iCount=0; 0 != udwNumber; iCount++ )
    {
        udwNumber &= (udwNumber - 1);
    }

    return iCount;
}

输入一个整数,求该整数的二进制表示中有多少个1

求一个整数的二进制中1的个数。      题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。       分析:这是一...
  • zhaojian3513012
  • zhaojian3513012
  • 2015年06月20日 13:01
  • 1284

Lintcode 二进制中有多少个1

计算在一个 32 位的整数的二进制表式中有多少个 1. 您在真实的面试中是否遇到过这个题?  Yes 样例 给定 32 (100000),返回 1 给定 5 (101),返回 2 给...
  • Hk_john
  • Hk_john
  • 2017年04月17日 15:38
  • 437

32位整数的二进制表示中有多少个1

思路1:def countOnes(self, num): # write your code here if num < -2147483648 or num > 2...
  • u010510962
  • u010510962
  • 2016年03月17日 16:24
  • 1269

判断一个数中有多少个1

碰到这个问题的一开始,大家都想当的是把数字转化成二进制数然后再进行判断并不是最好的,下面提供一种位运算的方法: 把一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变成0.那么一个整数的二进...
  • Frimish
  • Frimish
  • 2015年08月09日 21:20
  • 1252

C语言编程之计算二进制数中1的个数

首先我们利用第一种方法,在这我们可以知道,我们从二进制最小位依次往上看。 例如:5的二进制是101,如果它的二进制最小位上是有数值得,这样我们就对他++,否则,我们就进行移位操作,这部操作当然也可以...
  • qq_26768741
  • qq_26768741
  • 2016年03月15日 22:30
  • 3235

输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。

题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。 利用位运算~第二种思路很赞.... ? ...
  • luyuncsd123
  • luyuncsd123
  • 2014年07月19日 01:59
  • 1645

Noip2006 2^k进制数题解

题目描述 Description 设r是个2k2^k进制数,并满足以下条件: (1)r至少是个2位的2k2^k进制数。 (2)作为2k进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位。...
  • t14t41t
  • t14t41t
  • 2015年05月26日 17:50
  • 1060

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

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

如何判断一个整数位的二进制中有多少个1

清除整数a最右边的1可以使用这个操作:a&(a-1) int tatalOne(int number) { int count=0; while(number){ number=nu...
  • ljlstart
  • ljlstart
  • 2016年03月03日 09:15
  • 282

java 判断整数二进制中1的个数

题目:请实现一个函数,输入一个整数,输出该数二进制中1的个数。解法1:考虑到输入的整数可能是负数,所以不能使用右移运算,这里可以采取左移运算。这个解法中循环的次数等于整数二进制的位数。比如java i...
  • diu_brother
  • diu_brother
  • 2016年03月20日 22:55
  • 2789
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何计算一个2进制数中有多少个“1”
举报原因:
原因补充:

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