pub fn highest_bit_set(n: u32) -> u32
Given a 32-bit number, find the highest bit number which is set 1.
For example:
for 0011(3), returns 1. for 0100(4), returns 2.