思路:把输入正整数不断右移位与1按位与,固定32次,每次如果结果为1,就计数加1.32次后,输出计数值。
#include <stdio.h> int main(void) { int num; int i; int count = 0; scanf("%d\n", &num); for(i=0; i<32; i++) { if( ((num>>i) & 1) == 1 ) { count ++; } } printf("%d\n",count); return 0; }
思路:把输入正整数不断右移位与1按位与,固定32次,每次如果结果为1,就计数加1.32次后,输出计数值。
#include <stdio.h> int main(void) { int num; int i; int count = 0; scanf("%d\n", &num); for(i=0; i<32; i++) { if( ((num>>i) & 1) == 1 ) { count ++; } } printf("%d\n",count); return 0; }