­

求int型正整数在内存中存储时1的个数

  • 2019 年 12 月 16 日
  • 筆記

题目描述

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

输入描述:

输入一个整数(int类型)

输出描述:

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

示例1

输入

5

输出

2
#include <bits/stdc++.h>  using namespace std;    int main()  {      int num;      cin>>num;      int floors = log(num)/log(2)+1;      int counts = 0;      for(int i=floors;i>=0 && num!=0;i--)      {          int tnum = pow(2,i);          if(num >= tnum){              num-=tnum;              counts++;          }          else              continue;      }      cout<<counts<<endl;  }