//第一次尝试:
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int HowManyOne(int num) { int ret = 0; for (int i = 31; i >= 0; i--) { if (((num >> i) & 1) == 1) { ret++; } } return ret; } int main() { printf("请输入一个数:"); int num = 0; scanf("%d", &num); int ret = HowManyOne(num); printf("%d\n", ret); return 0; }
//此代码较为简单,就是使用移位操作符和与操作符结合,就可计算出有多少个1
浙公网安备 33010602011771号