15、求int型数据在内存中存储时1的个数

来源:互联网 发布:淘宝手办黑店 编辑:程序博客网 时间:2024/06/05 14:17

题目描述

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

输入描述:

输入一个整数(int类型)

输出描述:

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

这里写图片描述

c++ code:

#include<iostream>#define MAX 100using namespace std;int main(){    int n;    int c[MAX];    cin >> n;    int index = 0;    int sum = 0;    //1的个数    while (n!=0)    //输入数据转为2进制    {        c[index] = n % 2;        n /= 2;        index++;    }    for (int i = 0; i < index;i++)    {        if (c[i] == 1)        {            sum++;        }        //cout << c[i];    }    cout << sum ;    return 0;}

idea:
1、先把数据转换为二进制,但是顺序是反的。只统计1的个数,正序逆序都一样,没必要再改回来顺序了。

阅读全文
0 0