Please see James Tursa's answer for a cautionary note about the two different definitions of mantissa! Since you asked about binary form, I expect you mean the one from the Cleve Moler article, not the Mathworld article definition (or the formula I gave).
My guess is you're trying to get the index of the most significant bit of aninteger, not a floating point double (where a number is divided in two parts, mantissa and exponent, so not sure what you'd call the msb).
To get that value:
xMsb = nextpow2(x);
is simpler but probably not as fast as your algorithm. You can look at the code fornextpow2, it is implemented as m file.
Best Answer