zzy-c

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//NumberOf1就是计算参数n的二进制补码中有几个1
//123
//123%10 = 3
//123/10 = 12
//12%10 = 2
//12/10 = 1
//1%10 = 1
//1/10 = 0
/***************/
//15 - 000011111
//15%2 = 1
//15/2 = 7 - 00000111
//7%2 = 1
//7/2 = 3 - 00000011
//3%2 = 1 - 00000001
//3/2 = 1 - 00000001
//1%2 = 1 - 00000001
//1/2 = 0 - 00000000
int NumberOf1(int n)
{
    int count = 0;
    int i = 0;
    for (i = 0; i < 32; i++)
    {
        if ((n >> 1) & 1 == 1)
        {
            count++;
        }
    }
    return count;
}
int main()
{
    int n = -1;
    int ret = NumberOf1(n);
    printf("ret=%d\n", ret);

    return 0;
}

 

posted on 2022-04-05 11:40  zzy_C  阅读(41)  评论(0)    收藏  举报