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

xiaoxiao2021-02-28  99

题目描述

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

输入描述:

输入一个整数(int类型)

输出描述:

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

c++ code:

#include<iostream> #define MAX 100 using 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的个数,正序逆序都一样,没必要再改回来顺序了。

转载请注明原文地址: https://www.6miu.com/read-56287.html

最新回复(0)