Is there a quick and easy way to unset all the bits in a number except the most significant bit? In other words I would like to take an integer x and apply & operator to it where the operand is 1 left-shifted by total number of bits in x. Example:
return UnsetAllBitsExceptMSB(400);
should return 256