public static int FindMSBSet(int value) { uint val = (uint)value; int numDigits = 0; while (val != 0) { val >>= 1; ++numDigits; } return numDigits; }