I have to count the length of binary representation of an integer. I've tried something like this:
int binaryLength(int n)
{
      int i = 32;
      while (i > 0)
      {
           if (n >> i & 1) break;
           else i--;
       }
       return i;
 }
But when i have number like 9 (1001), this function returns me 32.
 
     
     
     
    