本文共 533 字,大约阅读时间需要 1 分钟。
题目 求出二进制中1的个数
代码解决
#includevoid countbit1(int x){ int sum = 0,temp = x; while(x){ sum++; x = x - (x&(-x)); } printf("%d 中含有 %d 个 1 \n",temp,sum);}int main(){ int x = 0x7FFFFFFF; countbit1(x); x = 0X80000000; countbit1(x);}
结果
代码二
#includevoid countbit1(int x){ int sum = 0,temp = x; while(x){ sum++; x = x & (x - 1); } printf("%d 中含有 %d 个 1 \n",temp,sum);}int main(){ int x = 0x7FFFFFFF; countbit1(x); x = 0X80000000; countbit1(x);}
结果