方法一:
#include<stdio.h>int count_one_bit(int n){int count = 0;while (n){if (n % 2 == 1){count++;}n = n / 2;}return count;
}
int main()
{int num = 0;int count = 0;scanf("%d", &num);count=count_one_bit(num);printf("%d\n", count);return 0;
}
方法二:
#include<stdio.h>int count_one_bit(int n){int count = 0;for (int i = 0; i < 32; i++){if ((n >> i) & 1 == 1)count++;}return count;
}
int main()
{int num = 0;int count = 0;scanf("%d", &num);count = count_one_bit(num);printf("%d\n", count);return 0;
}
方法三:
#include<stdio.h>int count_one_bit(int n){int count = 0;while (n){n = n & (n - 1);count++;}return count;
}
int main()
{int num = 0;int count = 0;scanf("%d", &num);count = count_one_bit(num);printf("%d\n", count);return 0;
}