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