1 2 3 4 5 6 7 8 9 10 11 12 13
#include <stdint.h> typedef uint64_t u64; int msb(u64 v) { if (!v) return 0; int n; for(n = 0; v >>= 1; ++n) ; return n + 1; }