#C,21#

    for(n=0;x;n++)x&=x-1;

you said "write some statements" (not "a function") so I've assumed the number is supplied in `x` and the number of 1's is returned in `n`. If I don't have to initialize `n` I can save 3 bytes.

This is an adaptation of the famous expression `x&x-1` for testing if something is a power of 2 (false if it is, true if it isn't.)

Here it is in action on the number 1337 from the question. Note that subtracting 1 flips the least significant 1 bit and all zeroes to the right.

    0000010100111001 & 0000010100111000 = 0000010100111000
    0000010100111000 & 0000010100110111 = 0000010100110000
    0000010100110000 & 0000010100101111 = 0000010100100000
    0000010100100000 & 0000010100011111 = 0000010100000000
    0000010100000000 & 0000010011111111 = 0000010000000000
    0000010000000000 & 0000001111111111 = 0000000000000000

EDIT: for completeness, here's the naive algorithm, which is one byte longer (and quite a bit slower.)

    for(n=0;x;n/=2)n+=x&1;