题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
#include <stdio.h> int func(int x) { int countx = 0; while(x) { countx ++; x = x & (x - 1); } return countx; } int main() { int x; int cnt=0; scanf("%d",&x); cnt= func(x); printf("%d\n",cnt); }
嘻嘻刷题的时候遇见的代码没想到这里运用上了,学以致用嗷~
int func(int x) {
int countx = 0;
while(x) {
countx ++;
x = x & (x - 1); //求转换为二进制后,1的个数,其实还有一个是x=x|(x-1);找的是0 的个数~
}
return countx;
}
C语言刷题 文章被收录于专栏
自己从头开始刷的C语言