关闭

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

68人阅读 评论(0) 收藏 举报
分类:

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;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:138058次
    • 积分:2731
    • 等级:
    • 排名:第13201名
    • 原创:140篇
    • 转载:19篇
    • 译文:2篇
    • 评论:15条
    文章分类