网站建设资讯

NEWS

网站建设资讯

c语言中求解1的个数

在c语言中有三种求解一个数1的个数的方法

站在用户的角度思考问题,与客户深入沟通,找到天津网站设计与天津网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都网站制作、企业官网、英文网站、手机端网站、网站推广、主机域名、网络空间、企业邮箱。业务覆盖天津地区。

  1. 将整数每次右移一位的方式

    int Numble(int n)

    {

    int count = 0;

    while (n)

    {

    if (n & 1 == 1)

    count++;

    n = n >> 1;

    }

    return count;

    }

    但这种方法存在的不足是,当这个整数是负数的时候,将无限循环

  2. 使整数与1进行与运算,1每次左移一位

    int Numble(int n)

    {

    int count = 0;

    int flag = 1;

    while (flag&n)

    {

    count++;

    flag = flag << 1;

    }

    return count;

    }

  3. 整数减1在与这个整数相与

  4. int Numble(int n)

  5. {

  6. int count = 0;

  7. while (n)

  8. {

  9. count++;

  10. n = n&(n - 1);

  11. }

  12. return count;

  13. }


网站标题:c语言中求解1的个数
标题链接:http://cdweb.net/article/igjdde.html