题解 | #求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);
}
全部评论

相关推荐

在写周报的打工人很独...:这个笔试昨天晚上做了一下,真难啊,前后端,ai全有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务