What is the error in hulk problem?

#include
using namespace std;
int main() {
int times;
cin>>times;
for(int i=1;i<=times;i++)
{
int n;
cin>>n;
int ans=0;
int power=1;
while(n>0)
{
int digit=n%2;
ans=ans+digit*power;

	power=power*10;
	n=n/10;

	}
	int count=1;
	while(ans>0)
	{
		int ld=ans%10;
		if(ld==1)
		{
			count++;
		}
		else{count=count;}
		ans=ans/10;
		
	}
	cout<<count<<endl;

}
return 0;
}