cara menemukan bit 1 paling kiri dalam biner dari angka apa pun

//C++ Code to find the value of 2^n = highestOneBit(). 
int highestOneBit(int i) {
    i |= (i >>  1);
    i |= (i >>  2);
    i |= (i >>  4);
    i |= (i >>  8);
    i |= (i >> 16);
    return i - (i >> 1);
}
Arrogant Albatross