What operation is the algorithm performing? unsigned int input = 0xC116D9B5709FED85 unsigned int output = 0 
while (input &gt; 0 ) 
{ 
if (( input mod 2) == 1) 
{ 
output += 1 
} 
input = floor(input / 2)
 }
 return output


I understand how the algorithm is working and using mod to break the input and then counting the number of times input is modded by 2 where it resulted 1. Basically checking if the number is odd. My question in the first place is howcome we can even store a huge hex like the one in question in an unsigned int. Doesn't it exceed the size limit of unsigned int. Secondly, if someone can help me understand the question would help alot.
The algorithms counts the number of $1$s in the binary expansion of the input. The code as written seems a little weird because it’s not a function that can be applied to an input, it’s being specifically applied to the defined number. I certainly couldn’t tell you why it’s being applied to that number without a lot more context.