人造板网,太和公园,重庆文科状元
//第一种:短除法 int count_one(unsigned num) { int count = 0; while (num != 0) { if (num % 2 == 1) { count++; } num /= 2; } return count; } ? //第二种:移位按位与1法 int count_one(int num) { int count = 0; int i = 0; for (i = 0; i < 32; i++) { count += (num >> i) & 1; } return count; } ? //第三种:num与num-1进行按位与 int count_one(int num) { int count = 0; while (num != 0) { num = num & (num - 1); count++; } return count; } ? int main() { int num = 0; int count = 0; printf("请输入一个数字>:"); scanf("%d", &num); count = count_one(num); printf("1的个数为:%d\n", count); return 0; }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论