1. The problem statement, all variables and given/known data I am wondering is there a way to count the number of bits to the left or right of a given 1 in a 32-bit integer? For example, if I give the function the number 32 = 0b100000, there are 5 bits to the right of the 1 and hence, 26 bits to the left of the 1. The catch is, is there a way to do this by simply using bit operations? i.e. no loops or conditionals? Bit operations include: & ^ | << >> ! and ~ (Note: I am coding this in C) 3. The attempt at a solution Obviously, if I subtract 1 from the original number, I get all 1s to the right of the original number but I'm still stumped as to how I can count the actual number of bits without using loops or conditional statements.