Jason's BLOG

记录、收集、积累、总结、进步

function to count the number of "1" of one byte

function to count the number of "1" of one byte ,for example 5(0101)has two "1"

经常遇到的面试题,毫无疑问需要借助位操作:


unsigned int bitCount (unsigned int value) {
    unsigned int count = 0;
    while (value > 0) {           // until all bits are zero
        //if ((value & 1) == 1)     // check lower bit
        //    count++;
		count += value & 0x1;
        value >>= 1;              // shift bits, removing lower bit
		//printf("value:%d, count:%d\n", value, count);
    }
    return count;
}


阅读更多
版权声明:原创文章,转载请注明出处。 https://blog.csdn.net/rudyn/article/details/52368702
个人分类: C/C++ 程序&算法
上一篇求一个数组中子数组中的和的最大值
下一篇实现单链表的反转
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭