我是靠谱客的博主 怕孤单戒指,这篇文章主要介绍一个字节中存在着多少个二进位1,现在分享给大家,希望可以做个参考。

一个字节中二进位1的个数

两个相似的方法,一个右移所查看的字节;一个查看左移1.


#include <stdio.h>

int getOneBits(unsigned char num)
{
    int count = 0;
    for(int i = 0; i < 8; i++)
    {
        if((num & (1 << i)) != 0)
            count++;
    }
    
    return count;
}

int main(void)
{
    printf("%dn", getOneBits((unsigned char)10));
    return 0;
}


#include <stdio.h>

int getOneBits(unsigned char num)
{
    int count = 0;
    for(int i = 0; i < 8; i++)
    {
        if(((num>>i) & 1) != 0)
            count++;
    }
    
    return count;
}

int main(void)
{
    printf("%dn", getOneBits((unsigned char)10));
    return 0;
}

在网上看到有查表法,效率高,貌似比较麻烦:

//将0x00~0xFF对应存在二进位0的个数保存在unsigned int C[256]中
const int C[256]={8,7,7,6,7,6,6,5,7,……,1,0};
//然后
int ZeroBitsCount(BYTE b) {return C[(unsigned int)b];}


最后

以上就是怕孤单戒指最近收集整理的关于一个字节中存在着多少个二进位1的全部内容,更多相关一个字节中存在着多少个二进位1内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(126)

评论列表共有 0 条评论

立即
投稿
返回
顶部