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