您的位置:首页 > 编程语言 > C语言/C++

用C语言编一个程序,有一个二进制串(比如01101011),计算出其中1的个数

2007-11-05 15:29 441 查看
int   func(x)  
{
            int   countx   =   0;
            while(x)
            {
                          countx++;
                          x   =   x&(x-1);
            }
            return   countx;


x-1:最右边的一个1变成0了,该位后面的位有都从0变成1了,但和x与仍变成0了
因此每  x   =   x&(x-1); 一次, 1的数量就减少一次
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  语言 c
相关文章推荐