小编R. *_*kyi的帖子

C 计算“1”的个数

我的任务是打印从 2 到 N 的所有整数(其中“1”的二进制数大于“0”)

int CountOnes(unsigned int x)
{ 
    unsigned int iPassedNumber = x; // number to be modifed
    unsigned int iOriginalNumber = iPassedNumber;
    unsigned int iNumbOfOnes = 0;

    while (iPassedNumber > 0)
    {
        iPassedNumber = iPassedNumber >> 1 << 1;  //if LSB was '1', it turns to '0'

        if (iOriginalNumber - iPassedNumber == 1) //if diffrence == 1, then we increment numb of '1'
        {
            ++iNumbOfOnes;
        }

        iOriginalNumber = iPassedNumber >> 1; //do this to operate with the …
Run Code Online (Sandbox Code Playgroud)

c binary

3
推荐指数
1
解决办法
764
查看次数

标签 统计

binary ×1

c ×1