Exercism c++ problem

Maybe something like this? :wink:

void setup()
{
    Serial.begin (9600);
    delay(1000);

    unsigned val = 123; // Input value

    int ones = 0;

    for (unsigned mask = 0x80; mask; mask >>= 1)  {
        ones += (mask & val) > 0 ? 1 : 0;
    }

    Serial.print("Number of ones: ");
    Serial.println(ones);
}

void loop() { }