题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
方法1: python
a = int(input())
count = 0
int_num = a
flag = 0x0001
while int_num:
b = a &flag
if b > 0:
count+=1
flag = flag <<1
int_num= int_num >>1
print(count)
int_num 是判断输入数有多少位。
flag 是用来判断有多少个1。
方法2: C
#include<stdio.h>
int main(void)
{
int a ,b,c,count;
int flag = 0x01;
scanf("%d",&a);
c = a ;
b = a ;
while (c=c>>1)
{
if (b &flag)
{
count++;
}
flag = flag << 1;
}
printf("%d",count);
}
360集团公司福利 432人发布