输出0和1的个数,整形int 输入15 输出0的个数为28,1的个数为4,为什么0的个数是28
我要提问
发布于2024年3月6日 21:34
阅读数 1.3k
#include<stdio.h>
int main(){
int n=0;
int one=0;
int zero=0;
scanf("%d",&n);
while(n!=1){
if(n%2==0){
zero++;
n=n/2;
}else {
one++;
n=n/2;
}
}
one=one+1;
printf("count0=%d count1=%d",zero,one);
}
为什么0的个数是28?15的二进制不是1111吗?
登录后发布评论
因为int是32位,32-4=28