【华为机试】求int型正整数在内存中存储时1的个数

题目描述:

输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。


输入描述:

输入一个整数(int类型)


输出描述:

这个数转换成2进制后,输出1的个数

示例1
输入
5
输出
2


参考程序:

#include <iostream>
using namespace std;
int main(){
    int n=1;
    cin>>n;
    int count=1;
    while(n>1){
        if(n%2)++count;
        n/=2;
    }
    cout<<count<<endl;
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • 1.把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不...
    曲终人散Li阅读 3,410评论 0 19
  • 来绍兴的路上,9岁的女儿一直在问,去绍兴干嘛,鲁迅是谁?跟她说了几遍,鲁迅是中国近代大文豪,总是记不住,...
    夜游园2017阅读 257评论 0 1
  • 杰克逊.威格 来自加拿大的冰酒 何时、何地、谁给的 都记不请了 但是,一入口 便相信它是款...
    海月先生阅读 326评论 4 2