C++ vector和进制转换解法

#include<iostream>
#include<vector>
using namespace std;
int main()
{
    int n,temp=0,k=0;;
    cin>>n;  
    vector<int> T;
    while(n)
    {
        temp=n%2;//转成二进制
        n=n/2;
        T.push_back(temp);//放到vector中
    }  
    for(vector<int>::iterator it=T.begin();it!=T.end();it++)//遍历统计
    {
      if(*it==1)
      {
          k++;
      }
    }
    cout<<k<<endl;
}