求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;  }