`
yuanyu5237
  • 浏览: 162793 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

求32位整数二进制1的个数收藏

阅读更多
【摘自编程之美】
#include <iostream>
using namespace std;

int findone(unsigned int n)
{
    int i;
    for(i=0; n>0; n>>=1)
        i+=(n&1);
    return i;
}

int func(unsigned int n)
{
    int count=0;
    while(n>0)
    {
        n&=(n-1);
        count++;
    }
    return count;
}

int main()
{
    int n;
    cin >> n;
    cout << findone(n) << endl;
    cout << func(n) << endl;
    return 0;
}
分享到:
评论

相关推荐

    判断32位无符号整数二进制中1的个数

    "判断32位无符号整数二进制中1的个数" 本资源主要介绍了在32位无符号整数二进制中统计1的个数的四种方法。 方法一:逐位比较法 该方法的思路是通过逐位比较来统计1的个数。代码如下: ```c int findone(unsigned ...

    C++计算一个数字的二进制中0或1的个数原理及代码

    2. **位操作的应用**:利用位操作来实现高效计算二进制位中的1或0的个数。 3. **算法逻辑**:具体介绍两种算法逻辑,一种是计算1的个数,另一种是计算0的个数。 4. **C++ 实现**:提供完整的C++代码实现,包括函数...

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

    对于一个字节(8位)的变量,求其二进制表示中“1”的个数是一个常见的问题。这一问题不仅出现在计算机科学的基础课程中,也是很多编程竞赛和技术面试中的经典题目。解决这类问题的目标通常是为了提高算法的执行效率...

    统计整数的二进制表示形式中有几个1(java实现)

    统计整数的二进制表示形式中有几个1(java实现),代码中有三种方法,分别是利用除、余的方法,位运算,以及利用“与”运算的方法。其中第三种方法效率最高,二进制数中有几个1,算法中的循环内的运算就执行几次。

    (android demo)算法实现:计算十进制数N的二进制形式中包含数字1的个数

    在Android开发中,我们经常会遇到各种算法挑战,其中之一就是如何计算一个十进制数N的二进制表示中“1”的个数。这个任务看似简单,但其实涉及到计算机科学的基础知识,包括二进制转换、位操作以及算法设计。下面...

    十进制转二进制中1的个数.txt

    例如,在二进制数`1101`中,从右至左分别是第0位、第1位、第2位和第3位。 ### 四、实例解析 假设输入样例为: ``` 1 13 ``` 根据题目要求,我们先将13转换为二进制表示`1101`,然后输出所有1的位置,即第0位、第2位...

    求二进制数中1的个数

    ### 求二进制数中1的个数 #### 背景介绍 在计算机科学领域,了解和掌握如何高效地处理二进制数据是非常重要的。本篇文章将围绕“求二进制数中1的个数”这一主题展开讨论。这一问题虽然看似简单,但在不同的应用场景...

    二进制中1的个数1

    当我们谈论一个整数在二进制中的1的个数时,实际上是在寻找它的二进制表示中1的出现次数。这个问题在实际编程中经常遇到,尤其是在算法和数据结构的题目中,比如LeetCode上的这个题目。 给定的描述要求我们实现一个...

    计算文件含有的0,1二进制位的个数

    另一种方法是利用位运算,如异或操作(^),连续异或0或1可以得到当前字节中1的个数,因为任何数与0异或保持不变,任何数与1异或可以翻转其二进制表示中的每一位。这种方法通常比字符串操作更快。 3. **文件映射**...

    C语言二进制位不同的个数的具体实现程序

    对于两个非负整数x 和y,函数f(x,y) 定义为x 和y 在二进制表示时,其对应位不同的个数。例如,f(2,3)=1, f(0,3)=2, f(5,10)=4。 现在给出一组非负整数x 和y,计算f(x,y)的值。 Input 第一行:一个整数T (0 ),...

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

    代码如下:// 判断一个整数的二进制位中有多少个1void totalOne(int x){ int count = 0; while(x) { x = x & ( x – 1 ); count++; } printf(“count = %d/n”, count);}循环: x = x & ( x – 1 ); count++; ...

    经典面试题(1):统计整数中1的个数

    本题“经典面试题(1):统计整数中1的个数”是一个典型的例子,其核心是计算一个无符号32位整数在二进制表示下含有多少个1。这个问题在计算机科学中被称为“位操作”或“计数比特”的问题,涉及到位运算、循环以及...

    汇编语言:. 将DX寄存器中的二进制数(3 F 2 E H)以十六进制数形式显示在屏幕上;然后换行从

    标题与描述均提到了在汇编语言中,如何将DX寄存器中的二进制数(3F2EH)以十六进制的形式显示在屏幕上,并随后进行换行操作,以及统计该二进制数中“1”的个数,将结果保存在BL寄存器,并同样显示在屏幕上。...

    BURmoon#CPP_notes#[位运算]二进制中1的个数1

    题目输入一个整数,输出该数32位二进制表示中1的个数(其中负数用补码表示)示例输入输出题解二进制移位法//将 mark0x01 和 n 进行 ‘&’ 运算//

    二进制乘法多种方式 C语言

    例如,要计算`x`乘以`y`,我们可以将`x`左移`y`的二进制表示中的1的个数,并使用按位与运算符(`&`)来累加结果: ```c int multiply(int x, int y) { int result = 0; while (y &gt; 0) { if (y & 1) { // 如果y...

    课程设计-统计一个数二进制表示中1的个数

    在C语言中,统计一个整数二进制表示中1的个数,有多种方法: 1. **逐位检查法**:最直观的方法是通过循环遍历每一位,判断每一位是否为1。对于32位整数,我们可以用一个for循环检查32次,但这种方法效率较低。 ```...

    A11Might#easyalgorithm#AcWing 801. 二进制中1的个数1

    801. 二进制中1的个数算法:#位运算每次减去给定整数 x 二进制中的最后一位 1(lowbit(n) = n & -n),一共能减几次 x 二进制中就有几个

    二进制手表1

    `count_one`函数用来计算一个整数中二进制1的个数,采用位操作的方式实现,通过不断右移并检查最低位是否为1来累加计数。主方法`readBinaryWatch`使用两个嵌套循环遍历所有可能的小时和分钟组合,然后用`count_one`...

Global site tag (gtag.js) - Google Analytics